C#找到最大的数字

Oli*_*ver 12 c# numbers

这是我第一次使用c#所以我对它不是很熟悉.如果我让用户输入3个数字,我想创建一个简单的程序来找到最大的数字.我只需要知道在代码中放什么,因为我不太确定.

Fre*_*örk 26

用途Math.Max:

int x = 3, y = 4, z = 5;
Console.WriteLine(Math.Max(Math.Max(x, y), z));
Run Code Online (Sandbox Code Playgroud)


Cod*_*aos 24

有Linq Max()扩展方法.它适用于所有常见数字类型(int,double,...).而且,由于它的工作原理上实现任何类IEnumerable<T>是适用于所有常见的容器,如阵列T[],List<T>...

要使用它,您需要using System.Linq在C#文件的开头,并需要引用System.Core程序集.两者都默认在新项目上完成(C#3或更高版本)

int[] numbers=new int[]{1,3,2};
int maximumNumber=numbers.Max();
Run Code Online (Sandbox Code Playgroud)

您也可以使用Math.Max(a,b)哪个仅适用于两个数字.或者自己写一个方法.这也不难.

  • @Jorge不,不是.它位于`System.Linq`命名空间中,但在`System.Core`程序集中 (3认同)

Sör*_*ren 7

您可以使用该Math.Max方法返回最多两个数字,例如int:

int maximum = Math.Max(number1, Math.Max(number2, number3))

还有Max()LINQ 的方法,你可以在任何方法上使用它IEnumerable.


kaz*_*zim 6

using System;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        int[] numbers = { 3, 9, 5 };
        int biggestNumber = numbers.Max();
        Console.WriteLine(biggestNumber);
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)


小智 6

我需要找到一种方法来做到这一点,使用来自不同地方而不是集合中的数字.我确信在c#中有一种方法可以做到这一点...虽然看起来很混乱我的语言......

无论如何,我最终写了几个通用方法来做到这一点......

    static T Max<T>(params T[] numberItems)
    {
        return numberItems.Max();
    }

    static T Min<T>(params T[] numberItems)
    {
        return numberItems.Min();
    }
Run Code Online (Sandbox Code Playgroud)

......这样叫他们......

    int intTest = Max(1, 2, 3, 4);
    float floatTest = Min(0f, 255.3f, 12f, -1.2f);
Run Code Online (Sandbox Code Playgroud)