如您所知,C#通过使用params
关键字支持可变参数方法:
int Add(params int[] xs) {
return xs.Sum();
}
然后您可以使用任何数量的参数调用它:
Add(1);
Add(1, 2);
Add(1, 2, 3);
但是,如果我想使用一个 int
数组 1 来调用 Add
,这是否可能以及如何实现(最好不使用反射)?我尝试了以下代码,但它们都给出了语法错误(语法纯属猜测):
var xs = new[] { 1, 2, 3 };
Add(xs...); // doesn't work; syntax error
Add(params xs); // doesn't work; syntax error
1 我的实际用例不同,但我认为这个例子会更简单易懂。
int
数组来调用Add
方法。 - Ryszard Dżeganvoid
方法,但是你想返回一个int
类型的值吗? - Soner Gönül