c# - 参照自体のコピーを作成しますか?

原文 c# .net

参照自体のコピーを作成する方法はありますか?たとえば、フォームにListViewコントロールを追加し、そのItemsコレクションを永続化したいとします。

ListViewItemCollection lvic = ListView.Items();


そして、ListView.Items.Clear()を呼び出すとき、lvicはクリアされるべきではありません。
答え
クローニング/コピーは幅広い主題です。それは本当にシナリオに依存します。あなたの場合、Linqを使用してコレクションのコピーを作成するだけです

ListViewItem[] copiedItems = ListView.Items().OfType<ListViewItem>().ToArray();


このシナリオでは、複製に注意してください。 ListViewItemCollectionのインスタンスをListViewに割り当てることはできず、ListViewまたはListViewItemのコピーはまだいくつかのネイティブリソース(winformsおよびwpfの世界)を使用しているため、コピーを使用すると、誤って使用するとひどいバグが発生します。
関連記事

c# - 組み込みMySQLサーバーC#ラッパー?

c# - aspx.csファイルからユーザーコントロールのradiobuttonlistにアクセスする方法

c# - C#ProcessStartInfoでのprivoxyの実行

c# - NUnitからFacebook C#SDKを使用する

c# - Saxon XSLTがパラメーターを渡す

c# - エンティティフレームワークの複数テーブルクエリ

c# - データグリッドビューの最後にクリックされた行に移動する方法

c# - .NETでのネットワークファイルのコピー

c# - テキストボックスでのリストの使用

c# - レコードを入力する前にリストボックスをチェックしてください