参数的修饰符主要有:params,out ,ref
一、params:
1.可变参数必须是一维数组。
2.所有的参数类型必须一致 。
3.可以传0到多个,也可以直接传数组,不传参数的时候(比如params int [] arr),arr的Length为0,arr并不是null.如果是多个,参数必须能做这个一维数组的元素。
4.如果方法有多个参数,params参数必须放在最后。
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 int[] nums = { 1,3,2,88,34,56,3}; 6 Console.WriteLine(Add(1, 2, 3)); 7 Console.WriteLine(Add()); 8 Console.WriteLine(Add(nums)); 9 Console.ReadKey(); 10 } 11 12 static int Add(params int [] nums) 13 { 14 int sum = 0; 15 for (int i = 0; i < nums.Length; i++) 16 { 17 sum += nums[i]; 18 } 19 return sum; 20 } 21 }
二、ref
ref传递的是地址,并且必须初始化。
三、out
使用之前必须先声明变量,但是不用初始化,初始化也取不到。在方法内部赋值。
注意:
M(out int i)和M(ref int i)不能重载。