Встречается на 31% собеседований по C#
В чем разница между классом и структурой
Классы (class) и структуры (struct) в C# различаются по нескольким ключевым параметрам:
- Тип данных: классы — ссылочные типы (хранятся в куче), структуры — значимые типы (хранятся в стеке или внутри других объектов).
- Наследование: классы поддерживают наследование, структуры — нет.
- Null: классы могут быть
null, структуры — нет (кромеNullable<T>). - Размер: структуры рекомендуются для небольших данных (обычно до 16 байт), классы — для сложных объектов.
- Присваивание: копирование структуры создает новую копию данных, копирование класса — только ссылку.
csharp
// Пример структуры
struct Point {
public int X, Y;
}
// Пример класса
class Person {
public string Name;
}Когда использовать:
struct— для легковесных, неизменяемых данных (координаты, цвет).class— для объектов с логикой, больших данных или требующих наследования.
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы