スポンサーリンク
スポンサーリンク

C#でListを値コピー(DeepCopy)する際のお勧め

.NET FrameworkC#Visual Studio

C#で自作したクラスのListを複製(値コピー/DeepCopy)する方法でネット検索すると、ToList()したり、newしたりする方法が出て来ますが、DeepCopy()メソッドを作るのが無難です。

DeepCopy()メソッドのサンプルとしては、これが一番イケてました。
https://tomisenblog.com/c-sharp-deepcopy/

1. CopyHelperクラスを追加。

2. DeepCopyするクラスに[Serializable]を追加。

3. 変数の拡張メソッドでDeepCopy()を実行。

※[SYSLIB0011 ‘BinaryFormatter.Deserialize(Stream)’ ‘BinaryFormatter.Serialize(Stream, object)’ は旧形式です (‘BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.’)]警告を解消したDeepCopyはこちら

 

コメント

タイトルとURLをコピーしました