Sobes.tech
Junior — Middle

Кои референтни типове данни са реализирани в езика C#?

sobes.tech AI

Отговор от AI

В C# типовете данни с референция са типове, които се съхраняват в управляемата купчина, а променливите от такива типове съдържат препратка към обекта, а не самия обект. Основните референтни типове в C#:

  • class — класове, например string, потребителски класове.
  • interface — интерфейси.
  • delegate — делегати, които представляват методи.
  • array — масиви, например int[].
  • string — низ, въпреки че изглежда като примитив, това е референтен тип.

Пример:

class Person {
    public string Name;
}

Person p1 = new Person();
p1.Name = "Иван";
Person p2 = p1; // p2 и p1 сочат към един и същи обект
p2.Name = "Пётр";
Console.WriteLine(p1.Name); // Ще изведе "Пётр"

Тук се вижда, че при присвояване на променливи от референтни типове, се копира само препратката, а не самият обект.