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