How do you perform deep cloning or deep copying of a collection in C#?
- Deep cloning copies the collection and all objects inside it recursively.
- Ways to deep clone:
- Implement ICloneable in your objects with deep clone logic.
- Use serialization (binary, XML, JSON) to serialize and deserialize objects.
- Manually create new instances of each item.
Example (manual):
List<MyClass> DeepClone(List<MyClass> original)
return original.Select(item => item.Clone()).ToList();
Note: MyClass must implement a Clone() method that performs deep copy.