Structures (Guide de programmation C#)

Mise à jour : novembre 2007

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 ne peuvent pas hériter d'autres structs ou classes.

  • 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.

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

  • Contrairement aux classes, les structs peuvent être instanciés sans recours à un 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 nulle.

Rubriques connexes

Pour plus d'informations :

Voir aussi

Concepts

Guide de programmation C#

Conception de structures

Référence

Classes et structs (Guide de programmation C#)

Classes (Guide de programmation C#)