LINQ 运算符和 LINQ 方法的优缺点是什么?其中一个是否具有另一个没有的限制或附加功能?
LINQ 中的术语“运算符”与 C# 语言运算符(+、&& 等)的正常意义上的“运算符”不同。LINQ标准查询运算符只是 LINQ 方法,预计大多数提供程序都可以使用这些方法(特别是通过 LINQ to Objects 提供的方法)。
您是否真的询问过使用这样的查询表达式的优缺点:
var query = from item in source
where item.SomeProperty == 5
select item.OtherProperty;
Run Code Online (Sandbox Code Playgroud)
与普通扩展方法调用的“流畅接口”或“点表示法”相比:
var query = source.Where(item => item.SomeProperty == 5)
.Select(item => item.OtherProperty);
Run Code Online (Sandbox Code Playgroud)
?如果是这样,我可以更详细地写一下,但基本上是:
Join, GroupBy)在查询表达式语法中往往更具可读性Count()等ToList()),那么必须将查询表达式括起来可能会很丑陋