vb.net - "No... es nada" contra "... No es nada"
(6)
Encontré una pregunta similar aquí VB.NET - No es nada versus no es nada , donde siento que esta pregunta fue respondida exhaustivamente. Entre las respuestas, Jack Snipes identificó http://weblogs.asp.net/psteele/410336 , un blog que brinda algunos detalles adicionales. De aquellos que prefiero y he usado
IsNot Nothing
que también hace que mi código sea más fácil de leer y entender.
¿Alguien aquí usa VB.NET y tiene una fuerte preferencia a favor o en contra de usar Not foo Is Nothing
en comparación con foo IsNot Nothing
? Si es así, ¿por qué?
Por ejemplo
If var1 IsNot Nothing Then
...
End If
y
If Not var1 Is Nothing Then
...
End If
Solo quiero saber cuál es mejor?
¿Son ambos igualmente aceptables?
Me gustaría ir con la primera variante, se lee en inglés y es más fácil de entender que la segunda. Aparte de eso, son equivalentes.
Usando VB 7.0
If var1 Is Not Nothing Then
genera un "uso no válido de error de objeto" según este enlace "VBForums" .
If var1 IsNot Nothing Then
genera un "Error de compilación: esperado: luego o Ir a"
If Not IsNothing(var1) Then
trabajado como un campeón
Use Not IsNothing (su objeto) si es un objeto ModelType, puede usar If (su variable) IsNot Nothing Then, solo para una variable.
los
If Not var1 Is Nothing Then
Es una resaca de VB6. No solía haber un IsNot, y esta era la única forma de determinar si una variable no era Nothing
. Parece ser redundante en VB.NET.
foo IsNot Nothing
La siguiente línea es directamente de las Convenciones de Codificación Visual Basic de Microsoft:
Use la palabra clave
IsNot
lugar deNot
... Is Nothing.