2010年2月6日土曜日

call by value(値渡し)とrefキーワードを使用してcall by reference(参照渡し)のパラメータを持つMethodを定義し、それぞれのMethodの実行後にパラメータの変数がどのように変化するか確認してみる。

using System;

class SampleClass
{
    // call by value(値渡し)
    public void printOut1(int n)
    {
        n += 1;
        Console.Write(n+" ");
    }

    // call by reference(参照渡し)
    public void printOut2(ref int n)
    {
        n += 1;
        Console.Write(n+" ");
    }
}

class MainClass
{
    static void Main()
    {
        SampleClass sample = new SampleClass();

        int n = 1;

        // 出力値:2 1
        sample.printOut1(n);
        Console.WriteLine(n);

        // 出力値:2 2
        sample.printOut2(ref n);
        Console.WriteLine(n);
    }
}

0 コメント:

コメントを投稿