読者です 読者をやめる 読者になる 読者になる

構造体の練習

using System;

struct St {
    public int x;
}

class Cl {
    public int x;
}

class Test {
    static void Foo(St st, Cl cl) {
        st.x = cl.x = 2;
    }

    static void Bar(ref St st, Cl cl) {
        st.x = cl.x = 3;
    }

    static void Main() {
        var st = new St();
        var cl = new Cl();

        st.x = cl.x = 1;
        Console.WriteLine("st.x:{0} cl.x:{1}", st.x, cl.x);
        Foo(st, cl);
        Console.WriteLine("st.x:{0} cl.x:{1}", st.x, cl.x);
        Bar(ref st, cl);
        Console.WriteLine("st.x:{0} cl.x:{1}", st.x, cl.x);
    }
}

実行結果です。

st.x:1 cl.x:1
st.x:1 cl.x:2
st.x:3 cl.x:3

参考: