static void SomeFunction(int[] ints,ref int i)
{
ints[0]=100;
i=100;
}
在调用该方法时,还需要添加ref关键字: SomeFunction(ints,ref i);
C#里要求对传递给方法的参数进行初始化。 2out参数 在方法的输入参数前面加上out前缀时,传递给该方法的变量可以不初始化(事实上即使是已赋值参数也会在函数执行时丢失值)。该变量通过引用传递,同ref参数相似: static void SomeFunction(out int i)
{
i = 100;
}
public void Main()
{
int i;
SomeFunction(out i);
Console.WriteLine(i);
}
3.命名参数 参数一般需要按定义的顺序传送给方法。命名参数允许按任意顺序传递。 string FullName(string firstName, string lastName)
{
return firstName + " " + lastName;
}
FullName("Allen","Iverson");
FullName(lastName:"Iverson",firstName:"Allen");
上面的两个执行结果是相同的。 4.可选参数可选参数必须为其提供默认值,可选参数还必须是否能够发定义的最后一个参数。 void TestMethod(int notOptionalNumber,int optionalNumber=10)
{
Console.WriteLine(optionalNumber+notOptionalNumber);
}