Встречается на собеседованиях • сегодня

Как хранятся в памяти ссылочные типы данных в C#

В C# ссылочные типы (классы, массивы, интерфейсы) хранятся в управляемой куче (heap). Переменная содержит ссылку (адрес) на объект в куче, а не сами данные. При присваивании копируется только ссылка, а не объект.

Пример:

csharp
class Person { public string Name; }

Person p1 = new Person { Name = "Alice" };
Person p2 = p1; // Копируется ссылка
p2.Name = "Bob"; // Изменяется общий объект
Console.WriteLine(p1.Name); // Выведет "Bob"

Особенности:

  1. Сборщик мусора автоматически освобождает память
  2. Оператор new выделяет память в куче
  3. null означает отсутствие ссылки
  4. Сравнение по ссылке (==) без перегрузки
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы