Order List<Object> by property name
本问题已经有最佳答案,请猛点这里访问。
我有一节课
1 2 3 4 | public class Test { public string Value { get; set; } } |
然后
1 |
列表中的某些项的value属性可以以字符
例子:
1 2 3 4 5 6 7 | Name Something Example > Another one Demo Student > Home |
如何对对象列表进行排序,以便列表中的第一个项目按字母顺序排序,以
这就是我迄今为止所做的:
1 | values.Where(x => !x.Value.StartsWith(">")).OrderBy(x => x.Value); |
您需要计算一个键来排序
1 2 3 | List<Test> ordered = values.OrderBy(v => v.Value.StartsWith(">") ?"ZZ" + v.Value : v.Value ).ToList(); |
"zz"是一个任意键,将以">"开头的值排序到所有英文术语之后。(字母表中的最后一个字母,没有以两个zs开头的英文单词)。因为">"的字节值比任何字母都要低,所以