Operacje na liście obiektów.

0

Witam.
Mam taki kod:

  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ć?

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1