int[] integers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
这有什么区别:
var odd = from i in integers
where i % 2 == 1
select i;
和这个 :
var ODD = integers.Where(i => i % 2 == 1);
如果没有区别,只是面孔不同,那为什么有可能呢?我的意思是有两种方法需要什么?
什么都没有——第一个是第二个的语法糖。
我使用任何使意图明确的东西。有时简洁是好的,有时是流畅的方法的流程,有时是一个查询来表达我在做什么。
没有区别,只是语法不同。看看LINQ 文档
编译器规范要求在编译之前将 LINQ 查询转换为扩展方法调用。
LINQ 查询通常比扩展方法调用的可读性更高。这里的所有都是它的。
确实,您在谈论查询表达式和方法链之间的区别......在性能方面没有任何区别
有关更多信息,请查看此帖子