具有一些Application对象列表 应用程序的属性状态为“ {Red”,“ Yellow”,“ Yellow”,“ Blue”,“ Blue”,“ Green”和“ Orange”)。
我的要求是以自定义排序顺序对列表进行排序
“红色”应该放在第一位 “蓝”秒 “黄”三 最后的“绿色”
在这种情况下如何实现排序。 请帮忙 。
预先感谢
答案 0 :(得分:4)
好吧,您可以创建一个排序值列表,然后按其中的索引排序:
jmsContainer
答案 1 :(得分:1)
使用Id和Name of color属性定义一个新类。 创建该类的数组,并按ID对数组进行排序。
class CutomSort
{
class Color
{
public int Id;
public string Name;
}
static void Main(string[] args)
{
Color[] input = {
new Color{Id=4, Name="Green"},
new Color{Id=3, Name="Yellow"},
new Color{ Id=1, Name="Red"},
new Color{ Id = 2, Name = "Blue" }
};
IEnumerable<Color> result = input.OrderBy(x => x.Id);
foreach (Color color in result)
{
Console.WriteLine($"{color.Id}-{color.Name}");
}
Console.ReadKey();
}
}