Na przykładC# jak przypisać listę <T> bez odniesienia?
List<string> name_list1 = new List<string>();
List<string> name_list2 = new List<string>();
później w kodzie:
name_list1.Add("McDonald");
name_list1.Add("Harveys");
name_list1.Add("Wendys");
name_list2 = name_list1; // I make a copy of namelist1 to namelist2
Więc z tego punktu chciałbym zachować dodanie elementu lub dokonywania zmian w name_list2 bez wpływu name_list1. Jak mogę to zrobić?
+1 - elokwentny, lubię go, gdy 'operator new' jest używany w ten sposób. –
To jest ładne, czyste rozwiązanie. Po prostu dodam dla wyjaśnienia, że jeśli to zrobisz, nie powinieneś zawracać sobie głowy inicjowaniem name_list2 z 'nowym Listem()' konstruktorem kilka linii powyżej, ponieważ będziesz tworzył obiekt tylko po to, by go wyrzucić. Nie jest to wielka sprawa, ale zły nawyk kodowania. –
adv12
to nadal odwołuje się do name_list1 – DoIt