Avatar ·

¿Qué significan dos signos de interrogación seguidos en C#?

¡Hola! Acabo de empezar a aprender C# y me encontré con una sintaxis extraña. En código de otra persona vi esta construcción: ```csharp string name = userName ?? "Invitado"; ``` ¿Qué hacen aquí esos dos signos de interrogación `??`? Entiendo que `userName` es alguna variable, pero ¿por qué poner dos signos de interrogación y luego un string? ¿Es algún tipo de comprobación? Intenté buscar en Google, pero principalmente encuentro explicaciones sobre el operador ternario `? :`, y esto se ve diferente. También noté que a veces escriben `??=` — ¿eso también está relacionado? Por ejemplo, en este código: ```csharp list ??= new List(); ``` ¿Puedes explicar en palabras simples cómo funciona y para qué sirve? Preferiblemente con ejemplos, porque soy visual. ¡Gracias de antemano!

Operador de coalescencia nula (??) en C#

Dos signos de interrogación ?? en C# son el null-coalescing operator (operador de coalescencia nula). Se usa para verificar si un valor es null y, si lo es,