2009-10-22 19 views
44

duplicados posibles:
?? Null Coalescing Operator --> What does coalescing mean?
What do two question marks together mean in C#?¿Qué hace un doble signo de interrogación en C#?

no pude encontrar esta pregunta que se hace aquí, así que pensé que lo pediría. ¿Qué hace una doble pregunta en C#?

Ejemplo:

x = y ?? z; 
+0

esto se ha preguntado un par de veces: http://stackoverflow.com/questions/ 1064074/operator-in-c/http://stackoverflow.com/questions/446835/what-do-two-question-marks-together-mean-in-c – Kirschstein

+1

http://stackoverflow.com/questions/827454/ –

+0

Te atrapa, y todos los que responden antes de cerrar el tema, un montón de representantes :) [Siempre me sorprende la rapidez con la que las preguntas y las respuestas nulas se vuelven repetitivas aquí ...] –

Respuesta

49

Este es un operador coalescente nula. El método anterior indica que x tiene asignado el valor de y, a menos que y sea nulo, en cuyo caso se le asigna el valor de z.

7

Si y es x nulos se establecerán en z.

15

Uso y si no es nulo, de otra manera utilizar z

6

Si a, el valor y es nulo, se asigna el valor z.

Por ejemplo:

x = Person.Name ?? "No Name"; 

Si el nombre es x nulos tendrán el valor "Sin Nombre"

12

De Wikipedia:

Es el operador nulo se unen y taquigrafía para esto:

x = (y != null ? y : z); 
1

marco .Net 2.0 permite en adelante valores nulos a los tipos de valor anulables.

aquí, en este caso, se dice que x es igual y si tiene algún valor (es decir, no nulo) o de lo contrario es igual a z

Cuestiones relacionadas