0

我有一个列表,winningCombos,类型为winningCombo,它有一个类型为spin。像这样:

 public List<winningCombo> winningCombos;

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


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

按每个类winningCombo中的双cumaltiveValue的值对列表winningCombos进行排序的有效方法是什么?其中一些具有相同的价值。所以winingCombos[0] 应该是double cumaltiveValue 中的最小值,并且一直向上。感谢您的任何想法!

4

1 回答 1

4

这可以通过List<T>.Sort如下方式进行排序:

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

您还可以使用 LINQ 来获取排序结果:

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

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

于 2012-09-20T18:40:04.060 回答