Sobes.tech
Junior — Middle

Jakie typy danych referencyjnych są zaimplementowane w języku C#?

sobes.tech AI

Odpowiedź od AI

W C# typy danych referencyjnych to typy, które są przechowywane na zarządzanym stercie, a zmienne tych typów zawierają odwołanie do obiektu, a nie sam obiekt. Główne typy referencyjne w C#:

  • class — klasy, na przykład string, klasy użytkownika.
  • interface — interfejsy.
  • delegate — delegaty, które reprezentują metody.
  • array — tablice, na przykład int[].
  • string — łańcuch znaków, choć wygląda jak typ prymitywny, jest to typ referencyjny.

Przykład:

class Person {
    public string Name;
}

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

Widać tutaj, że podczas przypisywania zmiennych typów referencyjnych, kopiowane jest odwołanie, a nie sam obiekt.