Встречается на собеседованиях • сегодня
В чем разница между ссылочным и значимым типам
В C# типы делятся на **ссылочные** (reference types) и **значимые** (value types).
**Значимые типы** хранят данные напрямую в стеке (или внутри других объектов):
- `struct`, `enum`, примитивы (`int`, `double`, `bool` и т. д.).
- Копируются **по значению** (при присваивании создается новая копия).
- Не могут быть `null` (кроме `Nullable`).
**Ссылочные типы** хранят ссылку на данные в куче:
- `class`, `interface`, `delegate`, `string`, массивы.
- Копируются **по ссылке** (изменения в одной переменной влияют на другую).
- Могут быть `null`.
**Пример:**
```csharp
// Значимый тип (struct)
int a = 5;
int b = a; // Копирование значения
b = 10; // a останется 5
// Ссылочный тип (class)
var list1 = new List { 1, 2, 3 };
var list2 = list1; // Копирование ссылки
list2.Add(4); // list1 тоже изменится
```

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