0

型スピンのクラスを持つwinningCombo型のリストwinningCombosがあります。そのようです:

 public List<winningCombo> winningCombos;

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


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

各クラスwinningCombo内のdoublecumaltiveValueの値でリストwinningCombosを並べ替える効率的な方法は何ですか?これらのいくつかは同じ値を持っています。したがって、winningCombos [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 に答える