首页 > 解决方案 > C# 最多 10 个变量

问题描述

我正在开发一个使用 C# 的 FastReport。我试图获得 10 个变量(心率)的最大值。

我编写了以下代码:

public static int GetMaxHeartRate(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j)
{
  int result = 0;

  result = Math.Max(a, b, c, d, e, f, g, h, i, j);
  
  return result;
}

我收到此错误:“错误 CS1501:方法 'Max' 没有重载需要 10 个参数”。我知道如何将 Math.Max 用于 3 个变量,但无法计算出 10 个变量。

标签: c#listmax

解决方案


params如果您在这种情况下使用,您的生活可能会更轻松:

public static int GetMaxHeartRate(params int[] v)
{
  return v.Max();
}

您可以将其称为GetMaxHeartRate(1,2,3,4,5,6,7,8,9)GetMaxHeartRate(myInt1, myInt2, myInt3, myInt4)甚至是诸如此类的疯狂组合GetMaxHeartRate(a, 20, DateTime.Now.Hour, int.Parse("300"))-它会找到任意数量的int输入的最大值;编译器将获取您提供的所有单个整数(无论它们看起来如何)并将它们打包到一个数组中。

唯一需要让它工作的就是确保你using System.Linq;在类的顶部,因为它Max()是一个适用于数组、列表等的LINQ 扩展方法

如果您从其他地方获取数组,也可以使用数组调用它,例如从文件中加载这些数组。


推荐阅读