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, тъй като и двете променливи сочат към един и същи обект.