我希望foreach
语句遍历列表。我想要实现的是确保首先获取排名最低的项目,但以下代码不起作用。我知道这可能是因为orderby
不是就地排序。什么是确保在foreach中首先获取小排名的替代方法?
foreach(var item in Collection.Where(item => Valid(itemID)).OrderBy(item => item.Rank)))
{
doWork(item);``
}
更新:
'排名'是Enum
public enum Rank
{
A = 1,
B = 2
}
答案 0 :(得分:0)
尝试:
foreach(var item in Collection.Where(item => Valid(itemID)).OrderBy(item => item.Rank.Value)))
{
doWork(item);
}