相关疑难解决方法(0)

lambda表达式语法与LambdaExpression类

这行代码尝试将lambda表达式赋给LambaExpression类型化变量,

LambdaExpression expr = n => n;
Run Code Online (Sandbox Code Playgroud)

它失败并出现编译错误消息:

无法将lambda表达式转换为类型'System.Linq.Expressions.LambdaExpression',因为它不是委托类型

所以它需要是一个委托类型.从概念上讲,这对我来说似乎很奇怪,因为我可以LambdaExpression使用像这样的工厂方法构建一个实例.

来自MSDN的 Factory Lambda

LambdaExpression lambdaExpr = Expression.Lambda(
    Expression.Add(
        paramExpr,
        Expression.Constant(1)
    ),
    new List<ParameterExpression>() { paramExpr }
);
Run Code Online (Sandbox Code Playgroud)

那不是委托类型.

这让我们想知道为什么lambda到LambaExpression无法工作?

c# lambda

10
推荐指数
1
解决办法
6401
查看次数

标签 统计

c# ×1

lambda ×1