Valeurs par défaut des types C (référence C)Default values of C# types (C# reference)

Le tableau suivant présente les valeurs par défaut des types C# :The following table shows the default values of C# types:

TypeType Valeur par défautDefault value
tout type référence ;Any reference type null
Tout type numérique intégral intégréAny built-in integral numeric type 0 (zéro)0 (zero)
Tout type numérique à virgule flottante intégréAny built-in floating-point numeric type 0 (zéro)0 (zero)
Boolbool false
charchar '\0' (U+0000)'\0' (U+0000)
Enumenum Valeur produite par l’expression (E)0, où E est l’identificateur de l’enum.The value produced by the expression (E)0, where E is the enum identifier.
structstruct Valeur produite en affectant à tous les champs de type valeur leur valeur par défaut et à tous les champs de type référence la valeur null.The value produced by setting all value-type fields to their default values and all reference-type fields to null.
Tout type valeur NullableAny nullable value type Instance pour laquelle la propriété HasValue a la valeur false et la propriété Value n’est pas définie.An instance for which the HasValue property is false and the Value property is undefined. Cette valeur par défaut est également connue sous le nom de valeur nulle d’un type de valeur nulle.That default value is also known as the null value of a nullable value type.

Utilisez default l’opérateur pour produire la valeur par défaut d’un type, comme le montre l’exemple suivant :Use the default operator to produce the default value of a type, as the following example shows:

int a = default(int);

En commençant par le C 7.1, vous pouvez utiliser le default littéral pour initialiser une variable avec la valeur par défaut de son type :Beginning with C# 7.1, you can use the default literal to initialize a variable with the default value of its type:

int a = default;

Pour un type valeur, le constructeur sans paramètre implicite produit également la valeur par défaut du type, comme le montre l’exemple suivant :For a value type, the implicit parameterless constructor also produces the default value of the type, as the following example shows:

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

Au moment de System.Type l’exécution, si l’instance Activator.CreateInstance(Type) représente un type de valeur, vous pouvez utiliser la méthode pour invoquer le constructeur sans paramètres pour obtenir la valeur par défaut du type.At run time, if the System.Type instance represents a value type, you can use the Activator.CreateInstance(Type) method to invoke the parameterless constructor to obtain the default value of the type.

spécification du langage C#C# language specification

Pour plus d’informations, consultez les sections suivantes de la spécification du langage C# :For more information, see the following sections of the C# language specification:

Voir aussiSee also