Структуры (Руководство по программированию на C#)

Обновлен: Ноябрь 2007

Структуры определяются с помощью ключевого слова struct, например:

public struct PostalAddress
{
    // Fields, properties, methods and events go here...
}

Структуры используют большую часть того же синтаксиса, что и классы, однако они более ограничены по сравнению с ними.

  • В объявлении структуры поля не могут быть инициализированы до тех пор, пока они будут объявлены как постоянные или статические.

  • Структура может не объявлять используемый по умолчанию конструктор (конструктор без параметров) или деструктор.

  • Структуры не могут наследовать от классов или других структур.

  • Структуры копируются при присваивании. При присваивании структуры к новой переменной выполняется копирование всех данных, а любое изменение новой копии не влияет на данные в исходной копии.

  • Структуры являются типами значений, а классы — ссылочными типами.

  • В отличие то классов, структуры могут быть созданы без использования нового оператора.

  • Структуры могут объявлять конструкторы, имеющие параметры.

  • Структура не может быть унаследованной от другой структуры или класса и не может быть основой для других классов. Все структуры наследуют непосредственно от System.ValueType, который наследует от System.Object.

  • Структуры могут реализовывать интерфейсы.

  • Структура может использоваться как тип, допускающий значение NULL, и ей можно назначить значение NULL.

Связанные разделы

Дополнительные сведения.

См. также

Основные понятия

Руководство по программированию в C#

Разработка структуры

Ссылки

Классы и структуры (Руководство по программированию в C#)

Классы (руководство по программированию на C#)