在学习C#的过程中,发现了一些以前没注意到的东西,记下来提醒自己:
1、参数数组
参数数组可以使用个数不定的参数调用函数,它可以使用params关键字来定义。(params 必须在参数表的最后出现)
class Program
{
static int sumVals(params int[] vals)
{
int sum = 0;
foreach(int val in vals)
{
sum += val;
}
return sum;
}
static void Main(string[] args)
{
int sum = sumVals(1,5,2,9,8);
Console.WriteLine("Summed Values = {0}",sum);
}
}
函数sumVals()可以接受任意个int参数(或不接受任何参数)。
2、通过引用传递参数
static void showDouble(ref int val)
{
......
}
调用时
showDouble(ref myNumber);
myNumber 也会被修改。
但是,用作ref参数的变量有两个限制。
1)
函数可能改变参数的值,所以参数必须是变量,不能是常量const;
2)
必须使用初始化过的变量。
——摘自C#入门经典