Foo().OrderBy(x=> x.Name)
如果我希望集合以这种方式排序,但只有一个 Id ==(假设为 314)的元素应该始终位于开头,而不管其名称如何。
最佳答案
你可以分两轮对它进行排序:
Foo().OrderBy(x => x.Id == 314 ? 0 : 1).ThenBy(x => x.Name)
也许这更简单(假设 boolean false 在 boolean true 之前运动)
Foo().OrderBy(x => x.Id != 314).ThenBy(x => x.Name)
关于c# - Linq - 高级 .OrderBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6446012/