我有一个List<int>
有几个元素。我知道如果我用foreach
迭代它,我可以获得所有值,但我只想要列表中的最大int值。
var l = new List<int>() { 1, 3, 2 };
答案 0 :(得分:52)
假设.NET Framework 3.5或更高版本:
var l = new List<int>() { 1, 3, 2 };
var max = l.Max();
Console.WriteLine(max); // prints 3
Enumerable课程中有很多很酷的节省时间。
答案 1 :(得分:10)
使用Enumerable.Max
int max = l.Max();
答案 2 :(得分:6)
int max = (from l in list select l).Max().FirstOrDefault();
根据评论,这应该是
l.Max();
答案 3 :(得分:2)
您可以使用此语法:
l.OrderByDescending(x => x).First(); //for maximum
l.OrderBy(x => x).First(); // for minimum
或者您可以使用 linq 中的 Max() 和 Min() 方法。
希望我说的对你有用....
答案 4 :(得分:0)
int max = listOfInts[0];
for(int i = 1; i < listOfInts.Count; i++) {
max = Math.Max(max, listOfInts[i]);
}
答案 5 :(得分:0)
using System.Linq;
using System.Collections.Generic;
int Max = list.Max();
答案 6 :(得分:0)
如果您不想使用 Linq:
l.Sort();
int min = l[0]; //1
int max = l[l.Count - 1]; //3