//方法的参数传递机制//值参数(Value Parameter)//方法名称(参数类型 参数名称[,参数类型 参数名称])//引用参数(Reference Parameter)//方法名称(ref 参数类型 参数名称[,ref 参数类型 参数名称])//输出参数(OutPut Parameter)//方法名称(out 参数类型 参数名称[,out 参数类型 参数名称])//例子:using System;class Method...{ public static int ValueMethod(int i) ...{ i++; } public static int ReferenceMethod(ref int i ) ...{ i++; } public static int OutPutMethod(out int i ) ...{ i=0 //必需进行初始化 i++; } static void Main() ...{ int i = 0 ; ValueMethod(1); Console.WriteLine("i="+i); int j = 0; ReferenceMethod(ref j); Console.WriteLine("j="+j); int k = 0; OutPutMethod(out k); Console.WriteLine("k="+k); }//输出参数和引用参数的区别//从CLR角度看是一样的,但是C#编译器会将二个关键字区别对待,//如果方法参数标记为out,调用都不希望在调用方法之前初始化对象,//被调用的方法不能读取对象的值,而且被调用的方法在返回之前为对象赋值.//如果方法参数标记为REF,调用者必需在调用方法之前初始化对象,//被调用的方法可以读参数,也可为参数赋值.//向方法传递可变数量的参数可以使用params关键字using System;class Method...{ static int addi(params int [] values) ...{ int sum=0; foreach(int i in value) ...{ sum+ = i; return sum; } static void Main() ...{ Console.WriteLine(1,2,3);//运行结果为6 } }}using System;class Method...{ static void PrintArr(int [] arr) ...{ for (int i= 0;i<arr.Length;i++ ) arr[i]=i; } static void Main() ...{ int [] arr = ...{100,200,300,400}; PrintArr(arr); foreach(int i in arr) Console.Write(i+",");//;;输出结果为0,1,2,3 } }}