Que signifient deux points d'interrogation en C# ? (Opérateur ??)
Bonjour, collègues ! J'ai récemment commencé à apprendre C# et je suis tombé sur une construction étrange dans le code de quelqu'un d'autre. Il y avait quelque chose comme :
```csharp
string name = userName ?? "Invité";
```
Je comprends que `userName` est une variable et `"Invité"` une chaîne. Mais que fait ce double point d'interrogation (`??`) ? Est-ce un opérateur de comparaison ? Ou une abréviation pour `if-else` ? J'ai essayé de chercher sur Internet, mais je n'ai trouvé que des explications générales en anglais que je n'ai pas entièrement comprises.
Pouvez-vous expliquer en termes simples en français, de préférence avec des exemples ? Quand faut-il l'utiliser ? Et y a-t-il une différence entre `??` et l'opérateur ternaire `?:` ? Merci d'avance ! J'écris une simple application console où je dois obtenir le nom d'utilisateur, et s'il n'est pas fourni (null), afficher "Invité". Voici mon code actuel, qui semble trop lourd :
```csharp
string userName = Console.ReadLine();
string name;
if (userName != null)
{
name = userName;
}
else
{
name = "Invité";
}
```
No answers yet.
Connectez-vous pour laisser une réponse