c#可变参数说明
在C#4.0中增加了许多新的特性,这里我主要说一下——
可变参数数组:
int sum(params int[] values) ;
int sum(string name,params int[] values)
注意:可变参数数组必须是最后一个,而且可变参数是C4.0中才有的特性。
参数默认值(C#4.0) :
void SayHello(string name,int age=20)(*了解)
注意:参数默认值的设置也必须是在非默认值参数的后面。
static void Main(string[] args)
{
int[] values = { 3, 5, 2, 9, 7 };
Max(true, "", values);
int i = Max(values);
int j = Max(true, "Hello", 3, 5, 2, 97, 7);
int i = Max(3,3,5);
Console.WriteLine(j);
string[] values1 = Console.ReadLine();
Console.WriteLine("{0},{1}", 3, 5, 6, 9, 3, 3, 90, 9);
SayHello("邹玉杰");
SayHello(“YuJie", 24);
Console.ReadKey();
}
//个数不确定的可变参数以数组的形式传递
static int Max(bool b, string msg, params int[] values)
{
Console.WriteLine(msg);
int max = 0;
foreach (int value in values)
{
if (value > max)
{
max = value;
}
}
return max;
}
static void SayHello(string name,int age)
{
Console.WriteLine("我是{0},我{1}岁",name,age);
}
static void SayHello(string name)
{
SayHello(name, 20); //用重载来实现参数默认值的效果,在构造函数中用的特别多
}
函数参数默认是值传递的,也就是“复制一份”,例子:
int age=20;
IncAge(age);
Console.WriteLine("age={0}",age);