使用LINQ将项目放在集合的顶部

时间:2011-06-30 12:32:41

标签: c# linq

使用LINQ,我希望在我的收藏顶部放置符合特定条件的项目。我试过了

myCollection.OrderBy(m => m.Foo == "Bar" ? 0 : 1);
但是我没有运气。有没有人有任何想法为什么这不起作用?

提前谢谢。

3 个答案:

答案 0 :(得分:6)

OrderBy()和其他LINQ方法不会修改它们被调用的集合;相反,他们返回一个新的集合。

答案 1 :(得分:1)

所有LINQ“运算符”,如Select,OrderBy等,更改它们被调用的集合,但返回一个新集合!

答案 2 :(得分:1)

如果您的收藏品是List<T>,请查看List<T>.Sort方法。或者,如果您正在处理数组,请使用Array.Sort方法。这些方法将对集合进行排序。