public static readonly int[] myArray2 = ((Func<int[]>)(() => {
var array = new int[] { 1, 2, 3 };
return array;
}))();
БОЛЬШЕ нечитабельно !!! Разве Javascript тебя ничему не научил?: -)
(обратите внимание, это шутка! Это интересно только потому, что показывает, что компилятор C # не может автоматически определять тип этой лямбда-функции)
В Javascript вы бынапишите что-нибудь очень похожее на это:
// ILLEGAL IN C#!!! DANGER, WILL ROBINSON!
public static readonly int[] myArray2 = (() => {
var array = new int[] { 1, 2, 3 };
return array;
})();
Теперь я посмотрю на "работающий" способ C # (о! ужас!)
public static readonly int[] myArray2 = (
(Func<int[]>) /* <-- The cast to Func<int[]> delegate */
(
/* Start Declaration --> */
() => { var array = new int[] { 1, 2, 3 }; return array;
} /* <-- End Declaration */
)
)
(); /* <-- Here we call it! */