Поделиться через


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

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

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

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

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

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

  • Структуры копируются при присваивании.При присваивании структуры к новой переменной выполняется копирование всех данных, а любое изменение новой копии не влияет на данные в исходной копии.Это важно помнить при работе с коллекциями типов значений, такими как Dictionary<string, myStruct>.

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

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

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

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

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

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

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

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

См. также

Ссылки

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

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

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

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