我有一个未排序的数字数组int[] anArray = { 1, 5, 2, 7 };
,我需要获取数组中最大值的值和索引,这将是 7 和 3。如何实现这个功能?
int[] arr = new int[] {35,28,20,89,63,45,12};
int big = 0;
int little = 0;
for (int i = 0; i < arr.Length; i++)
{
Console.WriteLine(arr[i]);
if (arr[i] > arr[0])
{
big = arr[i];
}
else
{
little = arr[i];
}
}
Console.WriteLine("most big number inside of array is " + big);
Console.WriteLine("most little number inside of array is " + little);
虽然这篇文章有点旧,但是使用列表非常容易实现以下操作:
对于最大值:
List<int> lst = new List<int>(YourArray);
int Max = lst.OrderByDescending(x => x).First();
最小化:
List<int> lst = new List<int>(YourArray);
int Max = lst.OrderBy(x => x).First();
当然,您可以使用任何数字变量类型(float、decimal等)代替“int”数据类型。
顺便说一句,这非常高效,比任何其他方法都要好(个人认为)。