查找双数组中的最大数字

时间:2013-11-28 07:29:37

标签: c# arrays

我有一个这样的双数组。

  double[] arr={1.5,10.9,8.9,6.5,10.0};

我怎样才能找出那些数组元素中最大的数字

我已经有了基本逻辑

    public double getLargest(double[] arrray)
    {
        double largest = arrray[0];
        for (int i = 1; i < arrray.Length;i++ )
        {
            if (arrray[i] > largest)
                largest = arrray[i];
        }
        return largest;
    }

我问了一个类似Math.max()的方法;但Math.max()甚至没有得到我导入System.Linq; (这可能是由于我使用框架2.0的原因)

我采用这种方法。

7 个答案:

答案 0 :(得分:3)

您可以使用Enumerable.Max方法

  

返回值序列中的最大值。

double[] arr = { 1.5, 10.9, 8.9, 6.5, 10.0 };
Console.WriteLine(arr.Max()); //10.9

这里有 demonstration

答案 1 :(得分:1)

使用LINQ,特别是Enumerable.Max方法:

var max = arr.Max();

答案 2 :(得分:1)

假设您的数组名为arr

private double Biggest(double[] arr)
{
  if(arr != null && arr.Length > 0)
    return arr.Max();
  return 0;
}

如果你想更精细

private double? Biggest(double[] arr)
{
  if(arr != null && arr.Length > 0)
    return arr.Max();
  return null;
}

答案 3 :(得分:0)

您需要Enumerable.Max方法。这是一种扩展方法,您可以像这样使用它:

double maximum = arr.Max();

这需要在文件顶部添加using System.Linq语句。

答案 4 :(得分:0)

只是为了展示“简单”的方式,因为我觉得OP应该首先学习:

double max_value = 0;
for (int i = 0; i < arr.Length; i++)
{
    if (arr[i] > max_value)
        max_value = arr[i];
}

基本内容,不需要花哨的方法,max_value包含整个数组一次传递后的最大值。

答案 5 :(得分:0)

double max=0;
foreach (double num in arr)
{
    if (num>max) {max=num;}
}

答案 6 :(得分:0)

您只需使用Linq:

即可
double max_number = arr.Max();

要使用Ling,请不要忘记在顶部使用System.Linq。