Sobes.tech
Junior — Middle

Можеш ли да назовеш основните типове данни, които използват препратки, и да обясниш техните характеристики?

sobes.tech AI

Отговор от AI

В C# основните типове данни, които използват препратки, са типовете препратки. Те включват:

  • Класове (class) — обектите се създават в купчината, променливата съхранява препратка към обекта.
  • Интерфейси (interface) — променливата съхранява препратка към обекта, реализиращ интерфейса.
  • Масиви (array) — масивите също са типове препратки.
  • Делегати (delegate) — препратки към методи, също типове препратки.

Характеристики на типовете препратки:

  • Променливата не съхранява самия обект, а препратка към област от паметта с обекта.
  • При присвояване се копира препратката, не обектът.
  • Обектите се създават в управляваната купчина, събирачът на отпадъци освобождава паметта.
  • Може да има стойност null, което означава липса на препратка към обект.

Пример:

class Person {
    public string Name;
}

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