ToList() は新しいリストと独立したオブジェクトを作成しますか?
参照型を扱うときは、ToList の動作を理解することが不可欠です()。新しいリストを作成する場合でも、基礎となるオブジェクトは元のリスト内のオブジェクトを参照する可能性があります。
インスタンス:
プロパティ SimpleInt を持つクラス MyObject について考えてみましょう。 MyObject (objs) のリストが作成され、objs で ToList() を呼び出すことによって追加のリストが生成されます。
関数分析:
ChangeToList メソッドは、 List
結果:
MyObject は参照型であるため、objectList は objs と同じオブジェクトを参照します。したがって、objectList[0].SimpleInt を更新すると、objs[0].SimpleInt.
も変更されます。そのため、指定された例では、ChangeToList メソッドは 5 を返し、変更が元のリストに反映されたことを示します。要約すると、ToList() は新しいリストを作成しますが、そこに含まれる要素は引き続き元のリスト内のオブジェクトを参照する可能性があります。この動作は、クラスや配列などの参照型を操作する場合に特に関係します。
以上が`ToList()` は真に独立したオブジェクトのリストを作成しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。