En C# ? Représente un type nullable, qui peut représenter toutes les valeurs T du type de base et des valeurs nulles supplémentaires ? ? Cela signifie que l'opérateur de coalescence nul signifie que lorsque l'opérande n'est pas nul, il renvoie la valeur du côté gauche, sinon il renvoie le côté droit, etc.
en C# ? Il y aura différents usages selon le nombre, comme ? et? ? Les significations de ces deux opérateurs sont différentes. Ensuite, je vais vous présenter le ? en C# en détail dans l'article. L'utilisation spécifique a une certaine valeur de référence. J'espère qu'elle sera utile à tout le monde
[Cours recommandés : Tutoriel de langage C#. ]
? (Type nullable)
Un type nullable est une instance de la structure System.Nullable <T>
. Un type nullable peut représenter toutes les valeurs T du type de base, ainsi que des valeurs nulles supplémentaires. Le type sous-jacent T peut être n’importe quel type de valeur non nullable. Mais T ne peut pas être un type référence.
Les types nullables peuvent être utilisés lorsqu'ils sont utilisés pour représenter des valeurs non définies du type sous-jacent. Les types nullables ont les caractéristiques suivantes :
(1) Sous un type nullable, une variable peut se voir attribuer une valeur nulle sans créer de type nullable basé sur un type de référence.
(2) Les types Nullable ne prennent pas en charge les types Nullable imbriqués.
(3) Les types nullables ne prennent pas en charge les types var. Si vous utilisez Nullable et var, une erreur de compilation se produira
Exemple :
// C# program to illustrate the // use of Nullable type using System; class GFG { // 主方法 static public void Main() { int ? a = null; int ? b = 2345; Console.WriteLine(a); Console.WriteLine(b); } }
Résultat de sortie : 2345
? ? (Opérateur de coalescence nul)
En C#, l'opérateur ?? est appelé l'opérateur de coalescence nul, qui est l'opérateur de coalescence nul. Le sens est que lorsque l’opérande n’est pas nul, il renvoie l’opérande de gauche ; sinon, il renvoie l’opérande de droite ; Si vous attribuez un type valeur nullable à un type valeur non nullable sans utiliser l’opérateur ??, une erreur de compilation est générée. Si un transtypage est utilisé et qu'aucun type de valeur nullable n'est actuellement défini, une exception InvalidOperationException est levée.
Exemple :
//声明a和b int?a=null; int b; b=a??2;//b的值为2 a=6; b=a??8;//b的值为6
? : (opérateur ternaire)
En C#, il existe un opérateur spécial appelé opérateur ternaire Méta opérateur, similaire à si-sinon. L'opérateur ternaire compare deux valeurs et renvoie une valeur basée sur celle-ci. La syntaxe de l'opérateur ternaire est :
条件表达式?表达式1:表达式2;
Il peut renvoyer une valeur de n'importe quel type de données.
Exemple :
using System; namespace Tutpoint { class Program { public static void Compare(int a, int b) { string output = a > b ? "A 大于 B" : "B 大于 A"; Console.WriteLine(output); } static void Main(string[] args) { Program.Compare(66, 579); Console.ReadKey(); } } }
Le résultat est : B est supérieur à A
Résumé : Ce qui précède représente tout le contenu de cet article, j'espère cela peut être utile à tout le monde.
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!