【问题标题】:How to get the maximum of more than 2 numbers in Visual C#?如何在 Visual C# 中获得超过 2 个数字的最大值?
【发布时间】:2010-12-21 04:06:03
【问题描述】:

我有一个由五个数字组成的数组和一个由 2 个数字组成的数组。我如何找出这 7 个数字中最大的数字?有没有一种方法可以让事情变得更简单?

【问题讨论】:

    标签: c# arrays function methods


    【解决方案1】:

    如果您使用的是 3.5,则可以使用 Linq:

    using System.Linq;
    var values = new int[] { 1,2,3,4,5 };
    var maxValue = values.Max();
    

    【讨论】:

    • 忘记我的帖子,我错过了你所说的 2 个数组。 280 的回应一针见血。
    • +1 表示依赖是System.Linq。如果没有该包含(我理解 Visual Studio 默认包含 大多数 C# 项目),您会收到一条错误消息,指出“int[] 没有方法 Max()”
    【解决方案2】:
    int[] array1 = { 0, 1, 5, 2, 8 };
    int[] array2 = { 9, 4 };
    
    int max = array1.Concat(array2).Max();
    // max == 9
    

    【讨论】:

    • 很奇怪,我试图投票给你。它将您的投票计数降至 0,并表示已达到投票限制。我又试了一次,它把你撞到了 2,给出了同样的信息! :S
    【解决方案3】:

    直截了当:

    Math.Max(Math.Max(a,b), c)//on and on for the number of numbers you have
    

    使用 LINQ:

    int[] arr1;
    int[] arr2;
    int highest = (from number in new List<int>(arr1).AddRange(arr2)
                   orderby number descending
                   select number).First();
    

    【讨论】:

      【解决方案4】:

      你可以试试

      decimal max = Math.Max(arr1.Max(), arr2.Max());
      

      【讨论】:

      • +1 不浪费时间和内存先连接数组
      • @Jason Williams - Concat 不分配数组,因此与此解决方案一样好。
      猜你喜欢
      • 2019-06-06
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 2019-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-27
      相关资源
      最近更新 更多