Sobes.tech
Junior — Middle

Czy możesz wyjaśnić koncepcję typów danych referencyjnych?

sobes.tech AI

Odpowiedź od AI

Typy danych referencyjnych w C# to typy, które nie przechowują danych samych w sobie, lecz odwołanie do obszaru pamięci, w którym te dane się znajdują.

Główne cechy:

  • Przy przypisaniu zmiennej typu referencyjnego, kopiowane jest odwołanie, nie obiekt.
  • Kilka zmiennych może odwoływać się do tego samego obiektu.
  • Zmiany dokonane przez jedno odwołanie są widoczne we wszystkich innych.

Przykłady typów referencyjnych: klasy (class), łańcuchy (string), tablice, delegaty.

Przykład:

class Person { public string Name; }

Person p1 = new Person { Name = "Иван" };
Person p2 = p1; // p2 odwołuje się do tego samego obiektu
p2.Name = "Пётр";
Console.WriteLine(p1.Name); // Wyświetli "Пётр"

Widać tutaj, że zmiana przez p2 wpływa na p1, ponieważ obie zmienne odwołują się do tego samego obiektu.