我有一个名为Person的类,它包含一个属性LastName,它反映了一个与Person的姓氏相对应的字符串.
我创建了一个List如下:
var People = List<Person>
Run Code Online (Sandbox Code Playgroud)
我想要做的是按字母顺序按人员的LastName属性排序.
看了一些例子,我试过了
People = People.OrderBy(p => p.LastName);
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
Ree*_*sey 13
使用LINQ,您需要将结果转换回List<Person>
:
People = People.OrderBy(p => p.LastName).ToList();
Run Code Online (Sandbox Code Playgroud)
由于OrderBy
返回a IOrderedEnumerable<T>
,您需要额外的调用ToList()
才能将其重新转换为列表.
但是,由于您实际上想要就地排序,您也可以List<T>.Sort
直接使用:
People.Sort((p1, p2) => p1.LastName.CompareTo(p2.LastName));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8957 次 |
最近记录: |