Structures (Guide de programmation C#)

Les structs sont définis à l'aide du mot clé struct, par exemple :

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

Les structs partagent presque tous la même syntaxe que les classes, bien qu'ils soient plus limités que ces dernières :

  • Dans une déclaration de structure, les champs ne peuvent pas être initialisés à moins qu'ils ne soient déclarés comme const ou static.

  • Un struct ne peut pas déclarer de constructeur (un constructeur sans paramètres) ni de destructeur par défaut.

  • Les structs sont copiés lors de l'assignation. Lorsqu'un struct est assigné à une nouvelle variable, toutes les données sont copiées et les modifications apportées à la nouvelle copie ne changent pas les données de la copie d'origine. Il est important de se souvenir lors de l'utilisation des collections de types valeur tels que Dictionnaire<chaîne, myStruct>.

  • Les structs sont des types valeur et les classes des types référence.

  • Contrairement aux classes, les objets struct peuvent être instanciés sans recours à l'opérateur new.

  • Les structs peuvent déclarer des constructeurs qui ont des paramètres.

  • Un struct ne peut pas hériter d'un autre struct ou d'une classe ; il ne peut pas non plus servir de base à une classe. Tous les structs héritent directement de System.ValueType, qui hérite de System.Object.

  • Un struct peut implémenter des interfaces.

  • Un struct peut être utilisé comme un type Nullable et peut se voir assigner une valeur Null.

Rubriques connexes

Pour plus d'informations :

Voir aussi

Référence

Classes et structs (Guide de programmation C#)

Classes (guide de programmation C#)

Concepts

Guide de programmation C#