Avatar ·

Como clonar uma lista (List<T>) em C#: guia completo para cópia

Olá a todos! Sou novo em C# e encontrei um problema ao trabalhar com listas. Preciso criar uma cópia independente da lista para que as alterações em uma cópia não afetem a outra. Aqui está meu código: ```csharp List originalList = new List { "apple", "banana", "cherry" }; List clonedList = originalList; // Atribuição simples // Modificando o clone clonedList.Add("date"); Console.WriteLine("Original: " + string.Join(", ", originalList)); // Exibe: apple, banana, cherry, date Console.WriteLine("Cloned: " + string.Join(", ", clonedList)); // Exibe: apple, banana, cherry, date ``` Como você pode ver, com a atribuição simples, `originalList` e `clonedList` referenciam o mesmo objeto na memória. Alterar uma lista automaticamente altera a outra. Tentei o método `ToList()`, mas ele também não ajuda para listas de tipos de referência: ```csharp public class Person { public string Name { get; set; } } List people = new List { new Person {