方法的参数传递机制(C#)
六 方法的参数传递机制
值参数,引用参数,输出参数
//参数的传递机制 using System; class Method { //值参数,传递的是数值本身,不改变外部变量的值 public static void ValueMethod(int i) { i++; } //引用参数,传递的是数据地址,直接对数据进行操作,原值要变化 //要注意的是string类型,赋值以后原值就不好改变了 public static void ReferenceMethod(ref int i) { i++; } //输出参数,传递的也是地址,但是不同的是操作时一定要给变量赋初值 public static void OutputMethod(out int i) { i=0; //赋初值 i++; } static void Main() { //对三种传值方式进行测试 int i=0; ValueMethod(i); Console.WriteLine("i="+i); //输出为0,原值未改变 int j=0; ReferenceMethod(ref j); Console.WriteLine("j="+j); //输出为1,原值+1; int k; OutputMethod(out k); Console.WriteLine("k="+k); //赋初值为0,输出为1。 } }
可变数量的参数
为了将方法声明为可以接受可变数量参数的方法,使用 params 关键字
/* * Created by SharpDevelop. * User: yangq * Date: 2016/8/27 * Time: 23:57 * * To change this template use Tools | Options | Coding | Edit Standard Headers. */ using System; class Method { static int addi(params int[] values) //参数的数量可以变化,以数组的形式存放 { //参数的写法为(1)或(1,2,3,4,5) //方法是把所有的参数相加,返回和值 int sum=0; foreach(int i in values) sum+=i; return sum; } static void Main() { Console.WriteLine(addi(1,2,3,4,5)); //输出结果为15. } }
书山有路勤为径,学海无涯苦作舟!!!