如何通过该自定义类中的变量对自定义类的列表进行排序? C#

时间:2015-11-11 23:37:38

标签: c# linq sorting

我想知道如何对这份清单进行排序。 说我上课了,

public class Foo
{
     public float bar;
}

说我有名单

List<Foo> sortedList = new List<Foo>();

我想通过变量栏对Foo进行排序。 我很确定我应该使用linQ语句orderby,但我无法弄清楚如何按类中的变量进行排序。

3 个答案:

答案 0 :(得分:1)

通过调用OrderBy对列表进行排序。请注意,此返回IEnumerable<T>,您必须再次致电ToList()以获取列表:

var list = new List<Foo>();
var sortedList = list.OrderBy(foo => foo.bar).ToList();

答案 1 :(得分:0)

一个选项:

var sorted =
        from foo in sortedList 
        orderby foo.bar ascending
        select foo;

或者:

var sorted = sortedList.OrderBy(foo => foo.bar);

答案 2 :(得分:0)

我就是这样做的:

private List<ItemTotalsAcrossMonths> _itemTotalsAcrossMonthsList;
. . .
_itemTotalsAcrossMonthsList = _itemTotalsAcrossMonthsList.OrderByDescending(x => x.TotalPurchases13).ToList();

我只是将排序结果分配回通用列表;你需要&#34; ToList()&#34;最后。