【发布时间】:2019-11-27 13:27:30
【问题描述】:
我想知道 C# 中是否存在不为 1 参数 lambda 提供参数名称的语法。
就像这样表达:
Func<A,B> = x => x.Stuff;
作为
Func<A,B> = $.Stuff; // is there a syntax similar to that?
目标是简化 Linq 表达式:
enumerable.Where($.Date1 == $.Date2).Select($.Blah);
如果不存在,是否有提议在该语言的更高版本中添加此类内容?如果没有,是否有不能添加的原因?我猜想知道函数从哪里开始有点棘手。
【问题讨论】:
-
这不存在,也没有计划。这真正解决了什么问题? IMO,它只是让 lambda 更难阅读。
-
除了建议的语法之外,还有其他方法可以简化 LINQ 表达式,例如使用定义明确的方法进行方法组转换:chevtek.io/how-to-simplify-complex-linq-expressions