可能重复:
使用Lambda/Linq将列表排序到对象
C#List <> OrderBy Alphabetical Order
如何通过字符串属性按字母顺序对对象列表进行排序.
我尝试在属性上实现IComparable但我只想出如何对第一个字符进行排序(使用char).
编辑:这是一些示例代码.
class MyObject {
public string MyProperty {get;set;}
}
List<MyObject> sampleList = new List<MyObject>();
MyObject sample = new MyObject();
sample.MyProperty = "Aardvark";
MyObject sample2 = new MyObject();
sample2.MyProperty = "Zebra";
sampleList.Add(sample);
sampleList.Add(sample2);
sampleList.Sort(); // or something similar
foreach (var item in sampleList) {
Console.WriteLine(item.MyProperty);
}
Run Code Online (Sandbox Code Playgroud)
应输出Aardvark和Zebra(按字母顺序排列).
谢谢!
Geo*_*voy 18
你可以使用Comparision delegate,使用Sort(Comparision<T> comparision)重载来完成它.
list.Sort((a, b) => a.StringProperty.CompareTo(b.StringProperty));
Run Code Online (Sandbox Code Playgroud)
dle*_*lev 14
你可以IEnumerable<MyObject>像这样排序:
var sortedQuery = sampleList.OrderBy(x => x.MyProperty);
Run Code Online (Sandbox Code Playgroud)
然后,您可以将查询转换为如下列表:
var sortedList = sortedQuery.ToList();
Run Code Online (Sandbox Code Playgroud)
或者,您可以遍历项目:
foreach (var obj in sortedQuery)
Console.WriteLine(obj.MyProperty);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13702 次 |
| 最近记录: |