Встречается на собеседованиях • сегодня
В чем разница между ссылочными и значимыми типами данных в C#
Ссылочные типы хранят ссылку на данные в куче, а значимые — сами данные в стеке.
**Ключевые отличия:**
- **Ссылочные (class, string, массивы):**
- Присваивание копирует ссылку, оба объекта указывают на одни данные.
- Могут быть `null`.
- **Значимые (struct, int, bool, enum):**
- Присваивание копирует значение.
- Не могут быть `null` (кроме `Nullable`).
**Пример:**
```csharp
// Значимый тип (struct)
Point p1 = new Point(10, 20);
Point p2 = p1; // Копирование значения
p2.X = 30; // p1.X останется 10
// Ссылочный тип (class)
class PointClass { public int X; public int Y; }
PointClass pc1 = new PointClass { X = 10, Y = 20 };
PointClass pc2 = pc1; // Копирование ссылки
pc2.X = 30; // pc1.X тоже изменится
```

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