Встречается на 16% собеседований по C#
В чём разница между значимыми и ссылочными типами данных
Значимые типы хранят данные напрямую в стеке, работают быстрее, но имеют ограниченный размер. К ним относятся примитивы (int, bool, struct). При присваивании копируется значение.
Ссылочные типы хранят ссылку на данные в куче, что позволяет работать с большими объектами. К ним относятся классы, массивы, строки. При присваивании копируется ссылка, а не данные.
Пример:
csharp
// Значимый тип
int a = 5;
int b = a; // Копируется значение
b = 10; // a остаётся 5
// Ссылочный тип
var list1 = new List<int> {1, 2, 3};
var list2 = list1; // Копируется ссылка
list2.Add(4); // list1 тоже изменитсяКлючевые отличия:
- Место хранения (стек/куча)
- Поведение при присваивании
- Производительность
- Размер объектов
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы