1
votes

Que fait l'opérateur ?? -?

Je parcours les codes en utilisant Flutter. J'ai vu l'opérateur ?? que je ne pouvais pas comprendre.

SharedPreferences prefs;
prefs = await SharedPreferences.getInstance();
id = prefs.getString('id') ?? '';
nickname = prefs.getString('nickname') ?? '';
aboutMe = prefs.getString('aboutMe') ?? '';
photoUrl = prefs.getString('photoUrl') ?? '';


2 commentaires

Le nom de cet opérateur est Null coalescing operator: en.wikipedia.org/wiki/Null_coalescing_operator


Vous pouvez en savoir plus sur ici


3 Réponses :


1
votes

Il est communément appelé opérateur de fusion nul ... du moins en C #.

Vous pouvez trouver de nombreuses informations à ce sujet lien

Et comme détaillé sur ce lien

L'opérateur de fusion nul ?? renvoie la valeur de son opérande de gauche s'il n'est pas nul


0 commentaires

1
votes

?? est l'un des Opérateurs Null-aware de Dart

result = leftSideValue ?? rightSideValue

Il vérifie si la valeur du côté gauche est nulle. si la valeur du côté gauche est nulle, il affecte la valeur par défaut (côté droit) au résultat.

Exemple 1

var data1 = "Some Value";
var data2 = data1 ?? "Default value";
print(data2); // Some value

Exemple 2

var data1;
var data2 = data1 ?? "Default value";
print(data2); // Default value

Vous pouvez en savoir plus à ce sujet dans Dart Docs & Moyen


1 commentaires

@creativecreatorormaybenot Oui, c'est l'un des «opérateur Null-Aware». Pas de son article, du document de fléchettes lui-même.



1
votes

Syntaxe:

int a;
int b;
if(a==null){
  b=0;
}else{
  b=a;
}

Exemple de ??

int a; int b = a ?? 0;

Ceci attribue la valeur de '0' à 'b', car 'a' est nul. Cela peut être réécrit comme suit:

<Expression>??<Value if expression is null>;


0 commentaires