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); // Ще изведе "Пётр"