c#中的 ref 和 out


C#中的 ref和out
关于传值和传址的讨论很多,最近在学习c#时有关键字ref 和 out。后来就写了一个demo来测试。

public class Test
{
    public static void Main(strig[] args) 
    {
        string s = "cater";
        Test.method1(s);
        Test.method2(s);
        Test.method3(s);
        MessageBox.show("s = "+ s);
    }
    /*用ref和out来修饰的参数表示传入的是引用,即在方法内值的改变影响方法外的值, 与out的不同是在方法外要先初始化,而out则必须在方法内赋值,否则不能通过编译。
    */
    public static void method1(ref string s)
    {
        s = "kaka";    
    }

    public static void method2(out string s)
    {
        s = "kobe";
    }
    //传入普通方法的参数不影响方法外的值
    public static void method3(string s)
    {
        s = "joni";
    }
}

你可能感兴趣的:(C++,c,C#)