Rye*_*Rye 9 c# linq ilist winforms
没有任何Sort()
功能IList
.someoene可以帮我这个吗?我想对自己的IList进行排序.
假设这是我的IList:
public class MyObject()
{
public int number { get; set; }
public string marker { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如何使用标记字符串对myobj进行排序?
public void SortObject()
{
IList<MyObject> myobj = new List<MyObject>();
}
Run Code Online (Sandbox Code Playgroud)
Bru*_*oLM 17
使用 OrderBy
例
public class MyObject()
{
public int number { get; set; }
public string marker { get; set; }
}
IList<MyObject> myobj = new List<MyObject>();
var orderedList = myobj.OrderBy(x => x.marker).ToList();
Run Code Online (Sandbox Code Playgroud)
对于不区分大小写的情况,您应该使用IComparer
public class CaseInsensitiveComparer : IComparer<string>
{
public int Compare(string x, string y)
{
return string.Compare(x, y, StringComparison.OrdinalIgnoreCase);
}
}
IList<MyObject> myobj = new List<MyObject>();
var orderedList = myobj.OrderBy(x => x.marker, new CaseInsensitiveComparer()).ToList();
Run Code Online (Sandbox Code Playgroud)
小智 11
我会反对使用OrderBy
列表,因为它是一个LINQ扩展方法,因此:
ToList()
,它会迭代它并用项目填充另一个新列表.实质上:它除了实际排序外,还创建并填充了2个新列表和2个枚举.相比之下,List.Sort()
排序到位并且什么都不做,所以它的效率更高.
我的建议是:
List.Sort()
或Array.Sort(array)
Array.Sort(array)
返回. 归档时间: |
|
查看次数: |
14725 次 |
最近记录: |