Встречается на собеседованиях • сегодня
В чем разница между ссылочным и значимым типом данных
Ссылочные типы хранят ссылку на данные в куче, а значимые — сами данные в стеке (или в куче, если являются полями класса).
**Ключевые отличия:**
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 тоже изменится
```

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы