本文整理汇总了C#中IOrderedEnumerable.OrderByDescending方法的典型用法代码示例。如果您正苦于以下问题:C# IOrderedEnumerable.OrderByDescending方法的具体用法?C# IOrderedEnumerable.OrderByDescending怎么用?C# IOrderedEnumerable.OrderByDescending使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IOrderedEnumerable
的用法示例。
在下文中一共展示了IOrderedEnumerable.OrderByDescending方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Swiss
/// <summary>
/// Pairs the players against each other in swiss format, e.g. top player plays
/// against the second, third against the fourth and so on. Avoids creating the
/// same pairing twice. See the PairingAlgorithm.txt document for details.
/// </summary>
public IEnumerable<Pairing> Swiss(IOrderedEnumerable<KeyValuePair<Player, int>> standings, IList<Pairing> history)
{
ValidatePlayerCount(standings.Select(i => i.Key));
var players = standings.OrderByDescending(i => i.Value).Select(i => i.Key).ToList();
var pairings = new Stack<Pairing>();
var timer = Stopwatch.StartNew();
while (!AllPlayersPaired(pairings, players))
{
TryAddPairing(pairings, players, history);
if (timer.ElapsedMilliseconds > SwissTimeout)
{
throw new TimeoutException("The requested operation took too long to complete.");
}
}
return pairings.ToArray().Reverse();
}