Cómo clonar una lista (List<T>) en C#: guía completa para copiar
¡Hola a todos! Soy nuevo en C# y me encontré con un problema al trabajar con listas. Necesito crear una copia independiente de una lista para que los cambios en una copia no afecten a la otra.
Aquí está mi código:
```csharp
List originalList = new List { "apple", "banana", "cherry" };
List clonedList = originalList; // Asignación simple
// Modificamos el clon
clonedList.Add("date");
Console.WriteLine("Original: " + string.Join(", ", originalList)); // Muestra: apple, banana, cherry, date
Console.WriteLine("Cloned: " + string.Join(", ", clonedList)); // Muestra: apple, banana, cherry, date
```
Como pueden ver, con la asignación simple `originalList` y `clonedList` hacen referencia al mismo objeto en memoria. Modificar una lista automáticamente cambia la otra.
Probé el método `ToList()`, pero tampoco ayuda para listas de tipos de referencia:
```csharp
public class Person
{
public string Name { get; set; }
}
List people = new List
{
new Person {