18
比方说,我有一个歌曲列表。如何使用多个T.attributes对列表<T>进行排序?
Song {
public string Name = "";
public int PlayOrder = 0;
}
现在我想首先按PlayOrder从0开始排序,然后按名称按字母顺序排序。
所以设定结果的排列的例子是(姓名,PlayOrder):
/*
Pachelbel's Canon, 0
A Happy Song, 4
Beethoven's 5th, 4
Some Other Song, 7
*/
见PlayOrder = 4成的人是如何以字母顺序?这就是我要去的。
现在我有它只是一个字段排序:
List<Song> final = new List<Song>();
...
final.Sort((x, y) => x.PlayOrder.CompareTo(y.PlayOrder));
return final;
如何我也按名称排序如上所示?
请注意,这将返回一个新的“IEnumerable”序列,而不是原地排列原始列表。 –
LukeH
2011-02-02 14:46:38
如果我想让它返回一个列表,我可以在那里添加一个.ToList()。 – BigOmega 2011-02-02 14:51:52