在 C# 中,lambda 表达式是对象吗?如果是,它们是什么类型的对象?
最佳答案
Lambda 表达式本身只存在于源代码中。它们本身没有类型,这就是编译器总是坚持将它们转换为特定类型的原因。
这就是这段代码无法编译的原因:
// No idea what type to convert to!
object x = y => y.Length;
但是这样做:
Func<string, int> x = y => y.Length;
Lambda 表达式总是转换为委托(delegate)类型或表达式树类型。同样,匿名方法总是转换为委托(delegate)类型。
关于c# - 在 C# 中,Lambda 表达式是对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1044200/