c# - 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 个变量。
解决方案
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 扩展方法
如果您从其他地方获取数组,也可以使用数组调用它,例如从文件中加载这些数组。
推荐阅读
- javascript - Javascript - 从 csv 文件转换后访问数组中的数据
- java - 这个“单通道线框着色器”opengl 着色器在我的带有 AMD 集成显卡的旧机器上工作,但它不适用于我的新 nvidea pc
- ffmpeg - ffmpeg 几秒钟后停止读取 rtsp 直播
- python - Django DurationField 格式选项
- java - 针对特定范围的元素递归地反转数组列表
- python - 为主题到主题编写循环 python
- class - 如何在方法调用中使用 timer.performWithDelay
- sql - 从共享特定属性的 2 列中计算对的唯一组合
- python - (Python)当我尝试运行它时它说无效的语法
- python - 为什么 Python 中的引用循环会阻止引用计数变为 0?