【问题标题】:How to find maximum value in an array如何在数组中找到最大值
【发布时间】:2016-03-08 06:54:59
【问题描述】:
var max=0.0d;
for(inc=0;inc<array.length;inc++){
if(max<array[inc])
max=array[inc];
}
我想求一个数组的最大值。上面的代码一般是我们用来求一个数组的最大值的。
但如果数组仅包含 negative 值,则此代码将返回 0。
因为0 < negative永远不会变成true
如何处理这种情况。
请提出解决方案。
【问题讨论】:
标签:
c#
arrays
sorting
numbers
max
【解决方案1】:
如果你不想尝试任何内置功能,你可以这样尝试:
int max = arr[0];
foreach (int value in arr)
{
if (value > max)
max = value;
}
Console.WriteLine(max);
IDEONE DEMO
【解决方案2】:
如何处理这种情况。
您可以将最大值初始化为最小双精度:
var max = double.MinValue;
或者,您可以使用.Max() LINQ 扩展方法,这将缩短您的代码,使其更具可读性并处理仅包含负值的数组的情况:
var max = array.Max();
【解决方案3】:
您可以简单地使用Max() linq 扩展。
var maxvalue = array.Max();
工作Demo