C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 53 を表示中)
■28985 / )  Re[3]: 配列のコピーについて
□投稿者/ επιστημη (1412回)-(2008/12/03(Wed) 11:01:24)
επιστημη さんの Web サイト
2008/12/11(Thu) 00:34:07 編集(投稿者)
  int[] abc = new int[3] { 0, 1, 2 };
  private void xyz() {
    int[] def = new int[3] { 6, 7, 8 }; // [1]
    abc = def; // [2]
  } // [3]

[1] def が { 6, 7, 8 } を掴む。
[2] abc が (defが掴んでいる) { 6, 7, 8 } を掴む。
    このとき abc は掴んでいた { 0, 1, 2 } を手放す(ので廃棄対象となる)。
[3] メソッドを抜ける際に def がいなくなるので { 6, 7, 8 } を掴んでいた
    奴が二人(abc,def)から一人(abc)に減る。
  掴んでる奴が一人でもいる限り、捨てられることはない。
  なので { 6, 7, 8 } はabc が手放すまでは無問題。

解決済み
返信 編集キー/


管理者用

- Child Tree -