Структуры (Руководство по программированию на C#)
Структуры определяются с помощью ключевого слова struct, например:
public struct PostalAddress
{
// Fields, properties, methods and events go here...
}
Структуры используют большую часть того же синтаксиса, что и классы, однако они более ограничены по сравнению с ними.
В объявлении структуры поля не могут быть инициализированы до тех пор, пока они будут объявлены как постоянные или статические.
Структура не может объявлять используемый по умолчанию конструктор (конструктор без параметров) или деструктор.
Структуры копируются при присваивании. При присваивании структуры к новой переменной выполняется копирование всех данных, а любое изменение новой копии не влияет на данные в исходной копии. Это важно помнить при работе с коллекциями типов значений, такими как Dictionary<string, myStruct>.
Структуры являются типами значений, а классы — ссылочными типами.
В отличие то классов структуры можно создавать без использования оператора new.
Структуры могут объявлять конструкторы, имеющие параметры.
Структура не может быть унаследованной от другой структуры или класса и не может быть основой для других классов. Все структуры наследуют непосредственно от System.ValueType, который наследует от System.Object.
Структуры могут реализовывать интерфейсы.
Структура может использоваться как тип, допускающий значение NULL, и ей можно назначить значение NULL.
Связанные разделы
Дополнительные сведения:
Использование структур (Руководство по программированию на C#)
Типы, допускающие значения NULL (Руководство по программированию на C#)
См. также
Ссылки
Классы и структуры (Руководство по программированию в C#)
Классы (Руководство по программированию на C#)