我想使用linq c# 6.0根据枚举名/值对列表进行排序
我的枚举将如下所示
public enum Number
{
One,
Two,
Three,
Four,
Five
}
未排序的我的列表
[
{
"a":ddd
"b":aaa
"w":"Four"
},
{
"a":sss
"b":fff
"w":"Two"
},
{
"a":bbbb
"b":zzzz
"w":"Three"
},
{
"a":hhh
"b":kkk
"w":"Five"
},{
"a":llll
"b"oooo
"w":"One"
},
]
我想通过Map属性“W”和枚举顺序对上面的列表进行排序,输出将是
[
{
"a":llll
"b"oooo
"w":"One"
},
{
"a":sss
"b":fff
"w":"Two"
}
....
]
尝试跟踪但没有成功
var a = myList.OrderBy(x => x.W).ToList();
2条答案
按热度按时间wz1wpwve1#
试试这个:
ddrv8njm2#
您可以通过对枚举进行如下编号来“强制”特定的顺序
然后,当您排序时,它将按您指定的顺序。
(奇怪的是,对我来说,列表出现在正确的顺序,而不需要这个!)