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.