Partager via


Valeurs par défaut des types C# (référence C#)

Le tableau suivant présente les valeurs par défaut des types C# :

Type Valeur par défaut
Tout type référence null
Tout type numérique intégral intégré 0 (zéro)
Tout type numérique à virgule flottante intégré 0 (zéro)
bool false
char '\0' (U+0000)
enum Valeur produite par l’expression (E)0, où E est l’identificateur d’énumération.
struct Valeur produite en définissant tous les champs de type valeur sur leurs valeurs par défaut et tous les champs de type référence sur null.
Tout type valeur Nullable Instance pour laquelle la propriété HasValue est false et la propriété Value n’est pas définie. Cette valeur par défaut est également connue sous le nom de valeur null du type valeur pouvant accepter la valeur Null.

Le langage C# documente la version la plus récente de la langue C#. Il contient également la documentation initiale des fonctionnalités dans les préversions publiques pour la prochaine version du langage.

La documentation identifie toute fonctionnalité introduite en premier dans les trois dernières versions de la langue ou dans les préversions publiques actuelles.

Conseil / Astuce

Pour savoir quand une fonctionnalité a été introduite en C#, consultez l’article sur l’historique des versions du langage C#.

Expressions de valeur par défaut

Utilisez l’opérateur default pour produire la valeur par défaut d’un type, comme l’illustre l’exemple suivant :

int a = default(int);

Vous pouvez utiliser le littéral default pour initialiser une variable avec la valeur par défaut de son type :

int a = default;

Constructeur sans paramètre d’un type de valeur

Pour un type valeur, le constructeur implicite sans paramètre produit également la valeur par défaut du type, comme l’illustre l’exemple suivant :

var n = new System.Numerics.Complex();
Console.WriteLine(n);  // output: (0, 0)

Au moment de l’exécution, si l’instance System.Type représente un type valeur, vous pouvez utiliser la Activator.CreateInstance(Type) méthode pour appeler le constructeur sans paramètre et obtenir la valeur par défaut du type.

Remarque

Un type de structure (qui est un type valeur) peut avoir un constructeur explicite sans paramètre qui retourne une valeur non par défaut du type. Pour obtenir la valeur par défaut d’un type, utilisez l’opérateur ou le defaultdefault littéral.

Spécification du langage C#

Pour plus d’informations, consultez les sections suivantes de la spécification du langage C# :

Voir aussi