传递值和参考值之间的差异

时间:2016-07-12 08:30:28

标签: c# visual-studio-2010 pass-by-reference pass-by-value

我试图了解按值调用和按引用调用之间的区别。有人向我解释说,通过引用改变了实际的内存位置值,而按值调用只是改变了实例(虚拟值)而不是实际的实例。所以我试着让程序按价值和参考工作检查。我的程序无效,我是否正确实现了逻辑?

以下是已解决和正常工作的代码的修订版本。

    static void Main(string[] args)
    {
        Program pro = new Program();
        int i = 1;

        Console.WriteLine("Call By Value:  ");
        pro.byVal(i);
        Console.WriteLine(i);
        Console.ReadKey();

        Console.WriteLine("\n\n\nCall By Reference:  ");
        pro.byRef(ref i);
        Console.WriteLine(i);
        Console.ReadKey();
    }

    public void byVal(int i)            //*******   Call by Value    *******//
    {
        i = 2;
    }
    public void byRef(ref int i)        //*******   Call by Refrence    *******//    
    {
        i = 3;
    }

1 个答案:

答案 0 :(得分:2)

您需要更改通话

application/font-sfnt

byRef(i);

如果你想通过引用来调用它。