Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csOpVlDp 46 of 163 menu
◀ ▶

Отдельная копия коллекции в C#

Копия списка - новый List<T> с теми же элементами. Добавление или удаление элементов в одном списке тогда не затрагивает другой. Если элементы являются изменяемыми объектами, ссылки на них все еще остаются общими. Для глубокой копии такие объекты нужно копировать отдельно:

List<string> source = new List<string>() { "ann" }; Team team1 = new Team(source); Team team2 = new Team(team1.Members); team2.Members.Add("bob"); Console.WriteLine(team1.Members.Count); Console.WriteLine(team2.Members.Count); class Team { public List<string> Members; public Team(List<string> members) { Members = new List<string>(members); } }

Сделайте класс Bundle с набором строк. Получите второй экземпляр с тем же содержимым, добавьте строку только во второй и убедитесь, что число элементов у первого не изменилось.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить