在类中按列表排序列表

时间:2012-09-20 18:36:46

标签: c# list sorting

我有一个类型类winsGebo的列表,winsCombos,它有一个类型spin。像这样:

 public List<winningCombo> winningCombos;

  public class winningCombo
    {
        public List<spin> winningSymbols; 
        public double cumulativeValue;
    }


  public class spin
    {
        public string Name;
        public double Value;
    }

通过每个类winsCombo中的double cumaltiveValue的值按顺序对列表winsCombos进行排序的有效方法是什么?其中一些具有相同的价值。因此,winsCombos [0]应该是double cumaltiveValue的最小值并且一直向上运行。谢谢你的任何想法!

1 个答案:

答案 0 :(得分:4)

可以通过List<T>.Sort进行排序,如下所示:

winningCombos.Sort( (l, r) => l.cumulativeValue.CompareTo(r.cumulativeValue));

你也可以使用LINQ来取回排序结果:

var sorted = winningCombos.OrderBy(wc => wc.cumulativeValue);

(注意后者不会更改原始集合,但会返回一个新的,已排序的IEnumerable<winningCombo>。)