一旦编译完成,它们之间是否存在差异:
delegate { x = 0; }
Run Code Online (Sandbox Code Playgroud)
和
() => { x = 0 }
Run Code Online (Sandbox Code Playgroud)
?
我在C#和MVC上相当新,并且在某些场合使用过lambdas,例如匿名方法和LINQ.
通常我看到lambda表达式看起来像这样:
(x => x.Name), (x => { Console.WriteLine(x))
Run Code Online (Sandbox Code Playgroud)
我明白lambda ="去".我从未见过没有使用左参数的lambda表达式.
我不知道如何翻译这个lambda表达式
@Html.DisplayFor(modelItem => item.FirstName)
Run Code Online (Sandbox Code Playgroud)
任何人都可以为我揭开这一点吗?不应该这样
(modelItem => modelItem.FirstName)?
Run Code Online (Sandbox Code Playgroud)
我从Microsoft的ASP.NET MVC入门教程中得到了这个.
任何人都可以解释我为什么这样做:
a.mapValues(_.size)
Run Code Online (Sandbox Code Playgroud)
代替
a.mapValues(x => x.size)
Run Code Online (Sandbox Code Playgroud)
但我不能这样做
a.groupBy(_)
Run Code Online (Sandbox Code Playgroud)
代替
a.groupBy(x => x)
Run Code Online (Sandbox Code Playgroud) 我想调用Queryable.Where()并获取所有元素.没有Where()谓词函数,没有任何版本可行.所以我必须这样做:
var result = table.Where( x => true );
Run Code Online (Sandbox Code Playgroud)
它起作用但对我来说感觉真的很愚蠢 - x从未使用过,并且=>"箭头"符号没有"转换" .
有更优雅的解决方案吗?
c# ×3
lambda ×3
.net ×1
asp.net-mvc ×1
delegates ×1
html-helper ×1
linq ×1
powershell ×1
razor ×1
scala ×1