使用lambda表达式从List <int>获取N max个数字

Sae*_*eid 16 .net c# linq sorting lambda

这是我的清单:

List<int> numbers=new List<int> { 12, 5, -8, 4, 7, 28, 3, 22 };
Run Code Online (Sandbox Code Playgroud)

如何通过lambda获得4个最大数字:我需要这些: {28, 22, 12, 7}

Kir*_*huk 29

使用:

var result = numbers.OrderByDescending(n => n).Take(4);
Run Code Online (Sandbox Code Playgroud)

  • 请注意,对于更大的列表,最好不对其进行排序,而是通过列表一次并跟踪遇到的四个最大的整数. (13认同)