Sorting a List of Custom Objects
我有一个名为person的类,它包含一个属性last name,它反映了与该人的姓氏对应的字符串。
我创建了如下列表:
| 1 | var People = List<Person> | 
我要做的是按姓氏属性按字母顺序对人员进行排序。
在看了一些例子之后,我试过
| 1 | People = People.OrderBy(p => p.LastName); | 
号
但它不起作用。
使用linq,您需要将结果转换回
| 1 | People = People.OrderBy(p => p.LastName).ToList(); | 
由于
但是,由于您实际上需要就地排序,因此也可以直接使用
| 1 | People.Sort((p1, p2) => p1.LastName.CompareTo(p2.LastName)); | 
号
最简单的是使用
| 1 | People = People.OrderBy(p => p.LastName).ToList(); | 
您需要
对原始列表进行排序的另一个选项是使用
| 1 | People.Sort((p1,p2) => p1.LastName.CompareTo(p2.LastName)); | 
。
您需要将orderby的结果转换为
| 1 | var people = People.OrderBy(p => p.LastName).ToList(); |