我有很多对象,都来自同一个类(ColorNum)每个对象有 2 个成员变量(m_Color 和 m_Number)
例子:
ColorNum1(Red,25)
ColorNum2(Blue,5)
ColorNum3(Red,11)
ColorNum4(White,25)
这 4 个对象在 ColorNumList 中
List<ColorNum> ColorNumList = new List<ColorNum>();
现在我想对列表进行排序,使 mColor = "Red"的对象位于顶部。 我不关心剩余对象的顺序。
我的谓词方法应该是什么样的?
最佳答案
使用 linq:
var sortedRedAtTop =
from col in ColorNumList
order by col.Color == Red ? 1 : 2
select col;
或者列表的排序方式:
ColorNumList.Sort( (x,y) =>
(x.Color == Red ? 1 : 2)-(y.Color == Red ? 1 : 2) );
关于c# - C# 中的排序列表替代项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1097556/