【问题标题】:Math.Max Method C# Object [duplicate]Math.Max 方法 C# 对象 [重复]
【发布时间】:2012-09-15 04:26:54
【问题描述】:

可能重复:
C# find biggest number

根据用户输入确定最大和最小数字。

Console.WriteLine ("For the Numbers " + (firstNo) + "," + (secondNo) + "," + (thirdNo));
Console.WriteLine("Largest is ") ;
Console.WriteLine("Smallest is ");

在这种情况下,我很难使用 Math.Max 方法。

【问题讨论】:

  • 嗯...那么,究竟是什么问题?您遇到错误还是什么?
  • 您能更具体地说明您不清楚的地方吗? Math.Max(firstNo, Math.Max(secondNo, thirdNo)) 不适合你吗?

标签: c# max minimum


【解决方案1】:

另一种方法是使用Linq MaxMin 方法获取:

var list = new[] {firstNo, secondNo, thirdNo };
var max = list.Max();
var min = list.Min();

简而言之:

var max = (new[] {firstNo, secondNo, thirdNo}).Max();
var min = (new[] {firstNo, secondNo, thirdNo}).Min();

【讨论】:

  • 虽然它没有使用上面提到的 Math.Max 方法,但我认为这是最漂亮的解决方案。
【解决方案2】:

您可以获取前两个数字的最大值,然后将其与第三个值的值进行检查:

var max = Math.Max(Math.Max(firstNo, secondNo), thirdNo));

同样适用于最小值。

【讨论】:

  • +1 因为它有一个作业标签
【解决方案3】:

Math.Max 只比较两个数字。如果要对数字列表进行排序,请将它们放入列表中并使用OrderByOrderByDescending。例如:

    List<int> numbers = new List<int>();
    numbers.Add(1);
    numbers.Add(5);
    numbers.Add(7);
    numbers.Add(13);
    numbers.Add(4);
    // And so on
    Console.Write("Numbers in increasing order: ");
    foreach (int number in numbers.OrderBy(x => x))
    {
        Console.Write(number + " ");
    }
    Console.WriteLine();

结果是Numbers in increasing order: 1 4 5 7 13

【讨论】:

    猜你喜欢
    • 2021-07-29
    • 2015-06-17
    • 2014-08-28
    • 1970-01-01
    • 2014-11-13
    • 2016-04-20
    • 2018-02-22
    • 2021-01-17
    • 2015-03-31
    相关资源
    最近更新 更多