В C# объекты Лямбда-выражений?

Это называется ternary operator. Для получения дополнительной информации вот еще один вопрос, на который я ответил по этому поводу:

Как написать оператор IF else без 'else'

5
задан Paolo Moretti 3 July 2012 в 16:04
поделиться

4 ответа

Сами лямбда-выражения существуют только в исходном коде. У них самих нет типа, поэтому компилятор всегда настаивает на их преобразовании в определенный тип.

Вот почему этот код не компилируется:

// No idea what type to convert to!
object x = y => y.Length;

Но это имеет:

Func<string, int> x = y => y.Length;

Лямбда-выражения являются всегда преобразуется в либо тип делегата , либо тип дерева выражения. Аналогичным образом анонимные методы всегда преобразуются в тип делегата.

16
ответ дан 18 December 2019 в 05:36
поделиться

Да , лямбда-выражения преобразуются либо в делегат , либо в дерево выражений - оба являются объектами.

12
ответ дан 18 December 2019 в 05:36
поделиться

Лямбда-операции в Linq создают так называемые деревья выражений. Вы можете прочитать об этом здесь .

4
ответ дан 18 December 2019 в 05:36
поделиться

Это анонимная функция, которая должна соответствовать какому-то делегату. msdn Фактически, это экземпляры какого-то типа делегата.

0
ответ дан 18 December 2019 в 05:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: