NULL 許容型 (Nullable)
null 許容型って、間違えやすいけど参照型になるわけじゃないんだ。値型だけど null 値を持ちうるようになるだけ。
だからこんなプログラムの実行結果は…
struct Data { public string str; public int number; } class Program { static void Main (string [] args) { Data data1; Data? data2 = null; data1.number = 1; data1.str = "最初の値"; data2 = data1; Console.WriteLine ("{0}:{1}", data2.Value.number, data2.Value.str); data1.number = 2; data1.str = "値を変更してみた"; Console.WriteLine ("{0}:{1}", data2.Value.number, data2.Value.str); } }
こうなる。
1:最初の値 1:最初の値 続行するには何かキーを押してください . . .
それと、null を代入しても、おんなじだけのスタックを消費します。値型だから。
トラックバック
- このエントリーにトラックバック:
- http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/2307
コメント