我有一节课
public class Test
{
public string Value { get; set; }
}然后
List<Test> values = new List<Test>() //contains 10 items列表中某些项的Value属性可以以字符>开头
示例:
Name
Something
Example
> Another one
Demo
Student
> Home如何对对象列表进行排序,使列表中的第一个项目按字母顺序排序,以>开头的项目也按字母顺序排序,但位于列表的末尾?
这就是我到目前为止所做的:
values.Where(x => !x.Value.StartsWith(">")).OrderBy(x => x.Value);发布于 2015-05-11 13:54:43
您需要计算一个键作为排序依据。
List<Test> ordered = values.OrderBy(v =>
v.Value.StartsWith(">") ? "ZZ" + v.Value : v.Value
).ToList();"ZZ“是一个任意键,它将对所有英文术语后面以">”开头的值进行排序。(是字母表中的最后一个字母,没有以两个Z开头的英文单词)。SInce ">“的字节值比任何字母都低一个Z是不够的,因为任何有效的英语术语都会排在以Z>开头的任何内容之后
https://stackoverflow.com/questions/30160427
复制相似问题