Recientemente en un proyecto anterior encontré una diferencia peculiar entre VB.NET y C#.¡Nada! = Nulo, ¿o no?
Considérese la siguiente expresión # C, que:
null <= 2
Esta expresión se evalúa como Falso que es lo que cabría esperar. Entonces la expresión correspondiente VB.NET:
Nothing <= 2
que se sorprendió al saber que esta expresión se evalúa en realidad a verdadera
Parece que una decisión de diseño bastante fundamental entre los dos idiomas y ciertamente atrapado Sacarme.
¿Alguien puede decirme por qué? ¿Son nulos y nada lo mismo? Si es así, ¿por qué se comportan de manera diferente?
'null <= 2' produce una advertencia de tiempo de compilación en C# y no se emite nunca IL correspondiente a esta operación en el conjunto de salida. –
prueba una expresión en LINQPAD - imagine nulo es en realidad un int? quién es el valor que es nulo. –
Pregunta relacionada (aunque no es exactamente la misma): http://stackoverflow.com/questions/2776902/why-can-you-assign-nothing-to-an-integer-in-vb-net –