Nullables
De Banane Atomic
Aller à la navigationAller à la recherche
Permet de rendre nullable des types qui ne le sont pas.
bool? b; // par défaut à null b = null; b.HasValue; // false bool v = b.Value; // InvalidOperationException b = false; b.HasValue; // true bool v = b.Value; // false // GetType et is retourne le type sous-jacent b.GetType(); // bool et pas bool? b is bool // true b is bool? // false // test si un objet Type est de type Nullable Type type = typeof(bool?); if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>)) {…} if (Nullable.GetUnderlyingType(type) != null) {…} // obtenir le type sous-jacent Type typeSousJacent = Nullable.GetUnderlyingType(type); // null si type n'est pas Nullable |