【问题标题】: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 &lt; 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-02-10
        • 2021-03-15
        • 1970-01-01
        • 2014-04-03
        • 2018-04-07
        • 2017-06-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多