signaler une erreur?
? 10 : null
Lorsque vous utilisez le type disponible en C #, la cohérence du type dans l'expression est très importante. Le caractère informatique ternaire (? :) Évaluer les deux expressions en fonction de la condition.
Ici, nous essayons d'attribuer INT et NULL à la variable INT du câble X. Cela peut entraîner des erreurs de compilateurs, car il n'y a pas de conversion cachée entre ces deux types.
int? x = GetBoolValue() ? 10 : null; // 错误
Le littéral 10 est un type int, et Null est un type vide. Il n'y a pas de conversion cachée entre les deux, donc des erreurs se produisent.
GetBoolValue() ? 10 : null
ou, nous pouvons convertir la surface du mot vide en int ?:
int? x = GetBoolValue() ? (int?)10 : null; // 将10转换为int?
ou, nous pouvons utiliser le mot-clé par défaut:
int? x = GetBoolValue() ? 10 : (int?)null; // 将null转换为int?
En assurant la cohérence du type, nous pouvons éviter l'erreur du compilateur et maintenir l'exhaustivité du type.
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!