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

В чем разница между ссылочным и значимым типом данных

Ссылочные типы хранят ссылку на данные в куче, а значимые — сами данные в стеке (или в куче, если являются полями класса). **Ключевые отличия:** 1. **Расположение:** значимые — стек (быстрый доступ), ссылочные — куча (управляется GC). 2. **Присваивание:** значимые копируются целиком, ссылочные — копируется только ссылка. 3. **Null:** значимые не могут быть `null` (кроме `Nullable`), ссылочные — могут. 4. **Наследование:** значимые не могут наследоваться (кроме `struct` от `ValueType`). **Пример:** ```csharp // Значимый тип (struct) int a = 5; int b = a; // Копирование значения b = 10; // a остаётся 5 // Ссылочный тип (class) var list1 = new List { 1, 2 }; var list2 = list1; // Копируется ссылка list2.Add(3); // list1 тоже изменится ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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