이러한 순위 알고리즘을 LINQ와 람다 식으로 표현하면 다음과 같습니다. 단순히 순위 배열만 구하는 것과 점수와 순위를 묶어 반환하는 내용을 표현했습니다.
> int[] scores = { 90, 87, 100, 95, 80 }; > var rankings = scores.Select(s => scores.Where(ss => ss > s).Count() + 1).ToArray(); > rankings int[5] { 3, 4, 1, 2, 5 } > var rankings = scores.Select(s => . new { Score = s, Rank = scores.Where(ss => ss > s).Count() + 1 }); > foreach (var r in rankings) . { . Console.WriteLine($"{r.Score,3} - {r.Rank}"); . } 90 - 3 87 - 4 100 - 1 95 - 2 80 - 5