c# - 鉴于这三种相似的方法,我们如何将它们浓缩为一个方法?
问题描述
public int Add2(int a, int b) => a + b;
public int Add3(int a, int b, int c) => a + b + c;
public int Add4 (int a,int b,int c,int d) => a + b + c + d;
我们如何在单个方法下编写这些方法?
解决方案
在您的添加方法中使用params int[]
,您可以添加任意数量的数字。
就像是:
using System;
public class Program
{
public static void Main()
{
Console.WriteLine(Add(1, 2, 3, 4, 5));
}
public static int Add(params int[] numbers)
{
int sum = 0;
foreach (int n in numbers)
{
sum += n;
}
return sum;
}
}
结果:
15
增强
使用Linq
,代码变得更短
using System;
using System.Linq;
public class Program
{
public static void Main()
{
Console.WriteLine(Add(1, 2, 3, 4, 5));
}
public static int Add(params int[] numbers)
{
return numbers.Sum();
}
}
结果:
15
推荐阅读
- reactjs - 如何显示使用`axios.get`下载的图像
- python - httplib2 不会返回实际页面
- python - 训练后如何保存标记器?
- excel - 使用公式删除 Excel 中连字符名称中连字符后的所有内容
- javascript - 查找数组的重复项并将其替换为其编号
- matrix - Android SurfaceView Mirror 相机
- javascript - 以一种优雅的方式结合异步和同步功能
- python - “cdqa”的问题:无法从“joblib._memmapping_reducer”导入名称“TemporaryResourcesManager”
- android - 在 PagingDataAdapter JetPack 分页 Android 中对已加载的数据(PagingData)应用过滤器
- python - keras Transformer 模型 EncoderLayer