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

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

В 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 тоже изменится ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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