ホームページ > バックエンド開発 > C++ > C#で一般的なリストをクローンする方法は?

C#で一般的なリストをクローンする方法は?

Susan Sarandon
リリース: 2025-01-30 20:16:12
オリジナル
142 人が閲覧しました

How to Clone a Generic List in C#?

c#

で汎用リストのコピーを作成します このガイドでは、C#で汎用リストを複製するためのさまざまな方法を調査します。

は組み込みのList<T>メソッドを持っていないため、いくつかの戦略を調べます。 値タイプの浅いコピーClone()

値タイプ(

など)を含むリストの場合、単純な浅いコピーで十分です。 参照タイプのディープコピー:iclonable リストが参照タイプを保持し、ディープコピー(データの完全に独立したコピー)が必要な場合、およびそれらのタイプが

インターフェイスを実装する場合、このアプローチを使用できます。 int 参照タイプのディープコピー:コピーコンストラクターのレバレッジdouble

<code class="language-csharp">List<YourType> newList = new List<YourType>(oldList);</code>
ログイン後にコピー
要素タイプにコピーコンストラクターがあるが

を実装していない場合、この方法が望ましい:

ベストプラクティス:工場メソッドまたはコピーコンストラクターICloneable

<code class="language-csharp">List<ICloneable> oldList = new List<ICloneable>();
List<ICloneable> newList = new List<ICloneable>(oldList.Count);

oldList.ForEach(item =>
{
    newList.Add((ICloneable)item.Clone());
});</code>
ログイン後にコピー
堅牢なディープコピーの場合、カスタムクラス内のファクトリーメソッド(例:

)またはコピーコンストラクターを利用することを強くお勧めします。これにより、より大きな制御が提供され、すべてのメンバー変数の完全なディープコピーが保証されます。 ロジックのカプセル化コード組織と再利用性を改善するには、これらの手法のいずれかを拡張メソッドまたは専用のヘルパー関数に包むことを検討してください。

以上がC#で一般的なリストをクローンする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート