.Net developer, data scientist
Для ответа на этот вопрос необходимо прежде всего освежить в памяти чем является класс и чем является структура.
Класс - формальная запись различных параметров, характеризующих объект в программировании.
Структура – это «легковесный» вид класса. Не вдаваясь в технические подробности, можно сказать, что структура выполняет практически всё тоже само что и класс, но более эффективно. Однако эта эффективность получена за счет введения некоторых ограничений на структуру и поэтому с практической точки зрения нельзя заменить все классы на структуры, чтобы код выполнялся эффективно.
Итак, какие ограничения наложены на структуры:
Что можно делать со структурами:
С чем связаны эти ограничения? C тем, что структура — это значимый тип, и в отличие от класса (ссылочный тип), структура хранится в памяти несколько иначе.