C#のrefについて 連載:C#入門 最終回 第22回 落ち穂拾い
これ見ると objectにつっこんでいるが、objectは参照型では?
object a = new int[]{1,2,3}; void function(object a) { ((int[])a)[1] = 3; Console.WriteLine(((int[])a)[1]); // 3になる! } function(a); Console.WriteLine(((int[])a)[1]); // 3になる
これを実行してみよう。 functionを呼び出した後も両方3だ。
このサイトで実行してみよう。 object型ならrefでも一緒では??だが確証が持てないので文献探したがここに書いてた。
http://toach.click/csharp_ref-and-out/
「refを付けてると、値型と参照型の違いを知らないと思われる、かも?」 違いは知ってたけど、念の為refつけてた事あったw むしろ参照型に対してref付けるつけないの違いを知らなかったが、同じなんだな。