如何根据自定义类中的变量对自定义类的列表进行排序?c#
本文关键字:自定义 排序 列表 变量 何根 | 更新日期: 2023-09-27 18:21:44
我想知道如何对我的列表进行排序。假设我有课,
public class Foo
{
public float bar;
}
然后说我有列表
List<Foo> sortedList = new List<Foo>();
我想根据Foo的变量条对其进行排序。我很确定我应该使用linQ语句orderby,但我不知道如何按类中的变量排序。
通过调用OrderBy
对列表进行排序。请注意,这会返回一个IEnumerable<T>
。您必须调用ToList()
才能再次获得列表:
var list = new List<Foo>();
var sortedList = list.OrderBy(foo => foo.bar).ToList();
一个选项:
var sorted =
from foo in sortedList
orderby foo.bar ascending
select foo;
或者:
var sorted = sortedList.OrderBy(foo => foo.bar);
我就是这样做的:
private List<ItemTotalsAcrossMonths> _itemTotalsAcrossMonthsList;
. . .
_itemTotalsAcrossMonthsList = _itemTotalsAcrossMonthsList.OrderByDescending(x => x.TotalPurchases13).ToList();
我只是简单地将排序结果分配回一般列表;您需要在末尾添加"ToList()"。