C# foreach循环中的OrderBy不起作用
我希望foreach语句遍历列表。我想要实现的是确保首先获取具有最低秩的项,但是下面的代码不起作用。我知道这可能是因为orderby没有进行适当的排序。确保在foreach中首先获取小列组的替代方法是什么C# foreach循环中的OrderBy不起作用,c#,.net,linq,C#,.net,Linq,我希望foreach语句遍历列表。我想要实现的是确保首先获取具有最低秩的项,但是下面的代码不起作用。我知道这可能是因为orderby没有进行适当的排序。确保在foreach中首先获取小列组的替代方法是什么 foreach(var item in Collection.Where(item => Valid(itemID)).OrderBy(item => item.Rank))) { doWork(item);`` } 更新: “Rank”是一个枚举 尝试: 你怎么知道它不
foreach(var item in Collection.Where(item => Valid(itemID)).OrderBy(item => item.Rank)))
{
doWork(item);``
}
更新:
“Rank”是一个枚举
尝试:
你怎么知道它不起作用?提供您的数据和结果。顺便说一句,你有一个额外的括号在结尾!请提供一个列表,如果排名是一个枚举,OrderBy将根据该枚举的数值对其进行排序。定义的顺序them@TimeMachine-您可能会按正确的顺序启动每个线程,但不能保证它们将以相同的顺序处理或完成。@TimeMachine请详细说明哪些不工作,或者更好地创建一个线程。
public enum Rank
{
A = 1,
B = 2
}
foreach(var item in Collection.Where(item => Valid(itemID)).OrderBy(item => item.Rank.Value)))
{
doWork(item);
}