CSharp(C#)可变参数的方法
C#可变参数的方法- –
采用“params”关键字就可以用来指定一个表示多个参数,如下面的求n个浮点数的平均数的方法:
public class TestClass1: TestClass
{
static public float temp=0;
static public float ave(params float[] x)
{
for(int i=0;i<x.GetLength(0);i++)
{
temp+=x[i];
}
temp=temp/x.GetLength(0);
return temp;
}
public TestClass1()
{
//
Console.WriteLine("TestClass1");
//
}
}
我们可以这样调用:
float x=1,y=2.0;
z=TestClass.ave(x,y);
也可以:
float a=1.0,b=2.0,c=3.0,d;
d=TestClass.ave(a,b,c)
但是params不可以和用来修饰用方法的参数“ref”和“out”修饰(这两个参数的作用相当于C++中的引用,即可以用来改变函数(方法)输入参数的值),所以如果是可变参数又要改变输入参数的值的方法,应该怎么处理呢??