在Linq中多重排序,哪种方式更高效?

4
下面哪个已排序列表更具性能优势:
var sortedList = data.OrderBy(row => row.Fullname).ThenBy(row => row.Age);

或者这个:

var sortedList = from row in data 
                 orderby row.Fullname, row.Age
                 select row;

1
小注:sortedList 实际上并不是一个已排序的列表;它是一个使用延迟执行的序列。当源数据在查询创建后被更改或者被多次迭代时,这种区别可能非常重要。 - Marc Gravell
2
既然你已经两种方式都写过了,那就试一下吧。这样你就会知道了。 - Eric Lippert
3个回答

7

查询语法被编译器转换为方法语法,因此它们是相同的。


6
他们都将被转换为相同的表达式。

2
特别说明(为了提供问题的帮助),请注意在这个例子中,最后的“选择行”被编译器/语言规范完全删除;因此它们是相同的。 - Marc Gravell

2

这两种方式是一样的,没有区别。更多取决于你喜欢哪种打字方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接