List如何根据T的属性排序?我的代码如下所示:CollectionoptionInfoCollection=....ListoptionInfoList=newList();optionInfoList=optionInfoCollection.ToList();if(_isAlphabeticalSoting)SortoptionInfoList我试过optionInfoList.Sort()但它不起作用。使用排序方法和lambda表达式非常容易。myList.Sort((a,b)=>String.Compare(a.Name,b.Name))上面的示例显示了如何根据对象类型的Name属性进行排序,假设Name是字符串类型。如果您只想让Sort()工作,那么您需要在您的类中实现IComparable或IComparable。如果您不介意创建新列表,可以使用OrderBy/ToListLINQ扩展方法。如果你想用更简单的语法对现有列表进行排序,你可以添加一些扩展方法,启用:list.Sort(item=>item.Name);例如:publicstaticvoidSort(thisListsource,Funcselector){varcomparer=Comparer.Default;source.Sort((x,y)=>comparer.Compare(selector(x),selector(y)));}publicstaticvoidSortDescending(thisListsource,Funcselector){varcomparer=Comparer.Default;source.Sort((x,y)=>comparer.Compare(selector(y),selector(x)));}publicclassPerson{publicstringFirstName{get;放;}publicstringLastName{get;放;}}列出人=newList();people.Sort(delegate(Personx,Persony){if(x==null){if(y==null){return0;}return-1;}if(y==null){return0;}返回x.FirstName.CompareTo(y.FirstName);});您需要设置一个比较器来告诉Sort()如何排列项目。查看List.Sort方法(IComparer)以了解如何执行此操作的示例...以上是C#学习教程:如何根据T的属性对列表进行排序?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
