Duplicar posibles:
C# okay with comparing value types to nullGuid == null no se debe permitir por el compilador
El comportamiento se describe a continuación es específico de .NET-3,5 solamente
Hola,
Acabo de encontrar el comportamiento más sorprendente en el compilador de C#;
Tengo el siguiente código:
Guid g1 = Guid.Empty;
bool b1= (g1 == null);
Bueno, Guid no es anulable por lo tanto, nunca puede ser igual a null. La comparación que estoy haciendo en la línea 2 siempre devuelve falso.
Si hace lo mismo para un entero, el compilador emite una advertencia diciendo que el resultado siempre será falsa:
int x=0;
bool b2= (x==null);
Mi pregunta es: ¿Por qué permite que el compilador se compara un Guid nulo?
De acuerdo con mi conocimiento, ya sabe que el resultado siempre es falso.
¿La conversión integrada está hecha de tal manera que el compilador asume que null es un valor posible?
¿Me falta algo aquí?
Gracias
Posible duplicado: http://stackoverflow.com/questions/1972262/c-okay-with-comparing-value-types-to-null – BFree
No es en realidad un duplicado. La pregunta de Luis se trata de por qué el compilador no emite una advertencia en caso de comparar una estructura con nulo, y lo hace al comparar un tipo de valor. –
No estoy de acuerdo con que se trate de un duplicado ... –