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

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

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

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

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