Operacje na liście obiektów.

Operacje na liście obiektów.
L9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

Witam.
Mam taki kod:

Kopiuj
  var persons = new List<Person>
           {
               new Person {Name = "Andrzej"},
               new Person {Name = "Janusz"},
               new Person {Name = "Damian"}
           };

            var team = persons;
            team.RemoveAt(0);

            Console.WriteLine(string.Join(" i ", persons.Select(p => p.Name)));

Dlaczego rezultatem będzie "Janusz i Damian"?. Przecież proces usuwania obiektu odnosi się do listy team a nie persons. Podejrzewam, że chodzi o to, że do zmiennej var team przypisujemy referencje do listy persons, ale mogę się mylić.
Mógłby, ktoś mi to wytłumaczyć?

AreQrm
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Londyn
  • Postów: 873
1

Sam sobie odpowiedziałeś :-) dobrze podejrzewasz.

Edytka dodaje bardzo ładnie podane zagadnienie kopiowania do nowej listy, z uwzględnieniem czy chcesz kupować tylko referencje do obiektów (proste) czy chcesz kopiować tez obiekty (trudne, jeśli nie są to typy proste)
http://stackoverflow.com/a/222623

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.