Другие языки программирования и технологии

В чем различие между структурами и объектами в с#

- Структуры являются типами значений, а классы — ссылочными типами.
- Структуры копируются при присваивании. При присваивании структуры к новой переменной выполняется копирование всех данных, а любое изменение новой копии не влияет на данные в исходной копии.
- Структура не может наследовать от другой структуры или класса и не может быть базовой для класса. Все структуры наследуют непосредственно от ValueType, который наследует от Object.
- Структура не может объявлять конструктор без параметров или метод завершения.
- Структуры не могут быть статическими.
- В объявлении структуры поля могут быть инициализированы только если объявлены как const или static.
- В отличие от классов, структуры можно создавать без использования оператора new.
- Структура не может быть null, а переменная структуры не может иметь значение null, если переменная не объявлена как тип, допускающий значение null.

https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/classes-and-structs/
ВВ
Вадим Волков
24 295
Лучший ответ
Структуры отличаются от классов тем, как они сохраняются в памяти и как к ним осуществляется доступ (для начала – краткая формула «классы — это ссылочные типы, размещаемые в куче, структуры — типы значений, размещаемые в стеке»). Структуры отличаются от классов некоторыми свойствами (например, структуры не поддерживают наследование).

Из соображений производительности следует использовать структуры для небольших типов данных. Однако в отношении синтаксиса структуры очень похожи на классы.

https://c-sharp.pro/?p=59
Структуры находятся в стеке, объекты в куче, для начала.
Валерий Ф
Валерий Ф
81 673
Ернар Ширимбеков Структура может находиться где угодно.