Junior — Middle
Milyen referencia típusok vannak megvalósítva a C# nyelvben?
sobes.tech MI
Válasz az MI-től
C#-ban a referencia típusok olyan típusok, amelyek a kezelt heapen tárolódnak, és ezeknek a típusoknak a változói egy objektumra mutató hivatkozást tartalmaznak, nem magára az objektumra. A fő referencia típusok C#-ban:
- class — osztályok, például
string, felhasználói osztályok. - interface — interfészek.
- delegate — delegáltak, amelyek metódusokat képviselnek.
- array — tömbök, például
int[]. - string — sztring, bár primitívnek tűnik, referencia típus.
Példa:
class Person {
public string Name;
}
Person p1 = new Person();
p1.Name = "Иван";
Person p2 = p1; // p2 és p1 ugyanarra az objektumra mutat
p2.Name = "Пётр";
Console.WriteLine(p1.Name); // "Пётр" kiírása
Itt látható, hogy referencia típusok esetén a változók hozzárendelésekor csak a hivatkozás másolódik, nem maga az objektum.