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;
我们如何在一个方法下编写这些方法?
答案 0 :(得分:12)
在添加方法中使用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
答案 1 :(得分:3)
尝试使用可选参数。
用
编写方法AAdd (int a, int b, int c = 0, int d = 0) { }
然后根据在c和d参数中传递的值进行计算。
答案 2 :(得分:1)
值a
和b
始终在三个函数中使用。这些值在您的功能中是必需的。并非总是使用值c
和d
。如果要合并所有功能,只需给这些值提供默认值即可。
public int Add(int a, int b, int c = 0, int d = 0){
return a + b + c + d;
}
答案 3 :(得分:1)
与Func
和(也)Linq
一起玩。.)
static Func<int[], int> Add = ((i) => i.Sum());
public static void Main()
{
Console.WriteLine(Add.Invoke(new[] {1,2,3,4,5}));
Console.WriteLine(Add.Invoke(new[] {8}));
Console.WriteLine(Add.Invoke(new[] {-2, -4, 6}));
}
//15
//8
//0