Maison >développement back-end >C++ >Que signifie le point d'interrogation dans les types de valeur C# (par exemple, « int ? ») ?
Le point d'interrogation "?" joue divers rôles dans la programmation, y compris son utilisation dans les instructions conditionnelles. Cependant, il apparaît également dans les types valeur, tels que public int? myProperty
. Dans ce cas, à quoi sert le point d’interrogation ?
Type nullable
Le point d'interrogation après le type valeur indique qu'il s'agit d'un type nullable. Un type nullable est une instance spéciale de la structure System.Nullable
qui peut accueillir toute la plage de valeurs valides du type sous-jacent, ainsi qu'une valeur nulle spéciale.
Cette fonctionnalité est particulièrement utile lorsqu'il s'agit de scénarios de bases de données ou d'autres sources de données dans lesquels certains éléments peuvent manquer intentionnellement de valeurs. Par exemple, une colonne de table de base de données autorisant les valeurs booléennes peut contenir vrai, faux ou nul.
Exemple de code
Considérez l'extrait de code suivant :
<code class="language-csharp">class NullableExample { static void Main() { int? num = null; // 判断 HasValue 是否为 true if (num.HasValue) { System.Console.WriteLine("num = " + num.Value); } else { System.Console.WriteLine("num = Null"); } // 如果 num 为 null,则赋值默认值 0 int y = num.GetValueOrDefault(); // 如果 num.HasValue 为 false,则抛出 InvalidOperationException try { y = num.Value; } catch (System.InvalidOperationException e) { System.Console.WriteLine(e.Message); } } }</code>
Ici, la variable num
est définie comme un entier nullable (int?
) qui peut contenir une valeur entière ou nulle. L'attribut HasValue
nous permet de vérifier si une variable contient une valeur valide. Si HasValue
est vrai, nous pouvons utiliser num.Value
pour obtenir la valeur réelle. Sinon, num
est considéré comme nul.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!