Maison > Article > développement back-end > Les difficultés C# sont résolues une par une (8) : Type Nullable System.Nullable
null and void
La valeur nulle est utilisée pour indiquer qu'aucune valeur n'a été attribuée au type de données. Il s'agit d'un type de référence void qui indique qu'il n'y a pas de type ; n'a aucune valeur. La différence entre null et void peut être considérée comme null n'est rien du tout, tandis que null est une boîte vide sans rien dedans.
Les valeurs nulles ne peuvent être attribuées qu'à des types référence. Notez ici que la chaîne est également un type référence ; le type référence est appelé un "pointeur" en C, qui est l'emplacement de l'espace mémoire où se trouve la variable. est stocké. Définir une variable sur null définit explicitement la référence et ne pointe vers aucun emplacement mémoire lui-même
L'attribution d'une valeur nulle à un type de valeur provoquera une erreur de compilation.
void est utilisé pour renvoyer des valeurs de méthode. Son essence n'est pas un type de données, il est simplement utilisé pour indiquer qu'il n'y a pas de type de données.
System.Nullable
La valeur nulle en C# ne peut pas être attribuée à un type valeur, et le type valeur inclut ici struct. La raison en est que les types valeur ne peuvent pas contenir de références. Bien entendu, null, en tant que référence « aucune », ne peut pas être référencé par les types valeur. Dans les applications pratiques, cela posera certains problèmes si un type de données int est effectivement incapable de déterminer sa valeur. Ici, vous devez utiliser des types nullables.
System.Nullable<int> i = null; Console.WriteLine(i);
À ce moment, vous pouvez déclarer int type i comme type nul, et le résultat de l'exécution du programme ne verra aucun affichage de données
System.Nullable<int> i = null; Console.WriteLine(i);
À ce moment, vous pouvez déclarer int comme type nul Le type i est déclaré comme type nul et le résultat de l'exécution du programme ne verra aucune donnée affichée
L'utilisation de GetType() pour afficher son type lancera System.NullReferenceException
System.Nullable<int> i = null; Console.WriteLine( i.GetType());
System.Nullable
De plus, les instances de type Nullable ont des membres HasValue et Value, où HasValue est un type booléen, indiquant si l'instance a une valeur ; Value indique la valeur de l'instance lorsque HasValue a une valeur ; lorsque HasVaue est faux, l'utilisation de Value déclenchera l'exception System.InvalidOperationException.
int? i = null; Console.WriteLine(i.HasValue); Console.WriteLine(i.Value);
Ce qui précède est une ventilation des difficultés C# une par une (8) : le contenu du type nullable System.Nullable. Pour plus de contenu connexe, veuillez. faites attention au site Web PHP chinois (www.php .cn) !