2012-09-20 70 views
0

我有一个类型为winningCombo的列表,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; 
    } 

什么是每个类winningCombo内的双cumaltiveValue的价值,以便列表winningCombos排序的有效途径?其中一些具有相同的价值。所以victoryCombos [0]应该是双重赔偿价值的最小值并且继续前进。感谢您的任何想法!

+1

您的问题缺少您认为不“高效”的示例代码。也请评论你为什么认为经常与比较器排序不适合你。 –

+0

你有什么尝试?你有没有做过关于如何在C#中对一个集合进行排序的研究?这不完全是一个晦涩的主题。 – Servy

回答

4

这可以通过地方被List<T>.Sort排序,像这样:

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

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

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

(注意后者不改变原收集,但返回一个新的,排序的IEnumerable<winningCombo>。)