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