在类中对列表进行排序
问题描述:
我有一个类型为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]应该是双重赔偿价值的最小值并且继续前进。感谢您的任何想法!
答
这可以通过地方被List<T>.Sort
排序,像这样:
winningCombos.Sort((l, r) => l.cumulativeValue.CompareTo(r.cumulativeValue));
你也可以使用LINQ找回排序结果:
var sorted = winningCombos.OrderBy(wc => wc.cumulativeValue);
(注意后者不改变原收集,但返回一个新的,排序的IEnumerable<winningCombo>
。)
您的问题缺少您认为不“高效”的示例代码。也请评论你为什么认为经常与比较器排序不适合你。 –
你有什么尝试?你有没有做过关于如何在C#中对一个集合进行排序的研究?这不完全是一个晦涩的主题。 – Servy