Con la siguiente comprensión sobre el operador de fusión nulo (??) en C#.Fundición implícita del resultado del operador de nulo-coalescencia
int? input = -10;
int result = input ?? 10;//Case - I
//is same as:
int result = input == null? input : 10; // Case - II
Mientras que, por definición y uso, Case I y Case II son los mismos.
¿Sorprende ver que en el compilador de Case-I es posible convertir textualmente int? to int, mientras que en el Caso-II muestra error: 'Error 1 No se puede convertir implícitamente tipo' int? ' a 'int'"
Qué es lo que me falta acerca operador nulo coalescencia?
Gracias por su interés.
La primera prueba debe utilizar '=' en lugar de '' == – hvd
@hvd: Absolutamente correcto, culpo a la OP por tener un mal ejemplo. :-P Editado. –
En realidad, creo que tu respuesta es un poco ... ¿una? b: c', donde 'b' es' int? 'y' c' es 'int', es perfectamente válido. Sin embargo, el resultado tiene tipo 'int?', Por lo que necesitaría '(a? B: c) .Value'. O su corrección sugerida, que es perfecta. – hvd