首页 > 代码库 > 方法的参数传递机制(C#)

方法的参数传递机制(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.    }}

 

方法的参数传递机制(C#)