staticvoidMain(string[] args){//int[] myIntArray = new int[] { 1, 2, 3 };//int result = CalculateSum(myIntArray);int result =CalculateSum(1,2,3);//可以使用params的形式输入一个数组,不需要提前声明数组,只要把数组的元素一个个列在这里//编译器发现这里的参数是params时,它会自动声明一个数组,把给出的值放进数组,再传进方法
Console.WriteLine(result);}staticintCalculateSum(paramsint[] intArray)//传入一个整型数组,求出整型数组的和,并返回出去//params关键字不影响原来方法的使用{int sum =0;foreach(var item in intArray){
sum += item;}return sum;}
string str ="Tim,Tom;Amy.Lisa";string[] result = str.Split(';',',','.');//Split接收一个字符串数组类型的参数,params char[] separatorforeach(var name in result){
Console.WriteLine(name);}
具名参数
当调用一个方法的时候,传进去的参数是带有名字的
参数的位置不再受约束
不是参数的某个种类,是参数的使用方法
staticvoidMain(string[] args){PrintInfo("Tim",24);//必须按照参数列表给出的数据类型来一一对应;不具名调用。PrintInfo(age:24, name:"Tim");//具名参数:提高可读性;参数的位置不受限制//输出结果相同}staticvoidPrintInfo(string name,int age){
Console.WriteLine("Hello {0},you are {1}",name,age);}
可选参数
参数因为具有默认值而变得“可选”
不推荐使用可选参数
staticvoidMain(string[] args){PrintInfo();}staticvoidPrintInfo(string name="Tim",int age=24){
Console.WriteLine("Hello {0},you are {1}",name,age);}
classProgram{staticvoidMain(string[] args){double x =3.14159;double y = Math.Round(x,4);//Math.Round()接收2个参数,第一个参数(double类型):要对哪个数值进行四舍五入;//第二个参数(int类型):要精确到小数点第几位。double z = x.Round(4);//x.就是Round()的第一个参数,这里只需要输入第二个参数
Console.WriteLine(y);
Console.WriteLine(z);}}staticclassDoubleExtension{publicstaticdoubleRound(thisdouble input,int digits){double result = Math.Round(input, digits);return result;}}