Junior — Middle
Կարող եք բացատրել հղման տվյալների տեսակների կոնցեպցիան?
sobes.tech AI
Պատասխան AI-ից
C# լեզվում ռեֆերանսային տիպերը այն տիպերն են, որոնք չեն պահում տվյալները ինքնին, այլ հղում են դեպի հիշողության տարածք, որտեղ այդ տվյալները գտնվում են:
Հիմնական առանձնահատկությունները՝
- Երբ ռեֆերանսային տիպի փոփոխականին նշանակվում է արժեք, պատճենվում է հղումը, ոչ թե օբյեկտը:
- Մի քանի փոփոխական կարող է հղում կատարել նույն օբյեկտին:
- Մեկ հղումով կատարված փոփոխությունները արտացոլվում են բոլոր մյուսներում:
Ռեֆերանսային տիպերի օրինակներ՝ դասեր (class), տողեր (string), զանգվածներ, դելեգատներ:
Օրինակ՝
class Person { public string Name; }
Person p1 = new Person { Name = "Иван" };
Person p2 = p1; // p2 հղում է նույն օբյեկտին
p2.Name = "Пётр";
Console.WriteLine(p1.Name); // Տպում է "Пётр"
Այստեղ նկատվում է, որ p2-ի միջոցով կատարված փոփոխությունը ազդում է p1-ի վրա, քանի որ երկու փոփոխականներն էլ հղում են նույն օբյեկտին։