Back to questions
Andersen
Junior — Middle
76
Можешь назвать основные типы данных, использующие ссылки, и объяснить их особенности?
Companies where asked
Answer from AI
sobes.tech AI
В C# основные типы данных, использующие ссылки — это ссылочные типы (reference types). К ним относятся:
- Классы (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); // Выведет "Пётр"