using System; namespace ParamsProgram { class TestParams { public static void Main(string[] args)//static void Main(string[] args) { int m ;//= 10; int[] arr = new int[80]; for (int i = 0; i < arr.Length; i++) { arr[i] = i; } ParamsProgram.TestParams t = new TestParams(); //t.check(5,6,7,8,9,1); t.outPara(out m); //t.changeNum(m); Console.WriteLine(m); Console.ReadLine(); } public void check(params int[] arr) { foreach (var i in arr) { Console.WriteLine(i); } } public void outPara(out int i) { i = 9999; } public void changeNum(int a) { a = 100; } } }
你觉得输出是怎样的呢?
params 关键字表示的函数的参数是可变的。
对应于out修饰的参数,不需要初始化也可,即这里使用out时,int m;也可。
对应于ref修饰的参数,一定要初始化,即这里使用ref时,必须int m=5;初始化参数
ref 一般侧重于修改,out一般侧重于输出。
C#的参数修饰符out,params,ref,布布扣,bubuko.com
原文:http://www.cnblogs.com/zhayunjia/p/3583849.html