Saltar al contenido

¿VB realmente distingue entre mayúsculas y minúsculas?

Hola usuario de nuestra página, tenemos la respuesta a lo que buscas, desplázate y la encontrarás más abajo.

Solución:

La diferencia entre VBA y VB.NET es que VB.NET compila continuamente en segundo plano. Obtendrá un error cuando compile el VBA.

Como dice Jonathan, al programar puede pensar en VB.NET como insensible a mayúsculas y minúsculas aparte de string-comparaciones, XML y algunas otras situaciones…

Creo que te interesa lo que hay debajo del capó. Bueno, .NET Common Language Runtime es distingue mayúsculas y minúsculasy el código de VB.NET se basa en el tiempo de ejecución, por lo que puede ver que debe distinguir entre mayúsculas y minúsculas en el tiempo de ejecución, por ejemplo, cuando busca variables y métodos.

El compilador y editor de VB.NET le permite ignorar eso, porque corregir el caso en tu código.

Si juega con características dinámicas o enlace tardío (Option Strict Off), puede probar que el tiempo de ejecución subyacente distingue entre mayúsculas y minúsculas. Otra forma de ver eso es darse cuenta de que los lenguajes que distinguen entre mayúsculas y minúsculas, como C#, usan el mismo tiempo de ejecución, por lo que el tiempo de ejecución obviamente admite la distinción entre mayúsculas y minúsculas.

EDITAR Si desea eliminar el IDE de la ecuación, siempre puede compilar desde la línea de comandos. Edite su código en el Bloc de notas para que tenga ss y SS y ver lo que hace el compilador.

EDITAR Cita de Jeffrey Richter en las Directrices de diseño de .NET Framework, página 45.

Para ser claros, el CLR en realidad distingue entre mayúsculas y minúsculas. Algunos lenguajes de programación, como Visual Basic, no distinguen entre mayúsculas y minúsculas. Cuando el compilador de Visual Basic intenta resolver una llamada de método a un tipo definido en un lenguaje que distingue entre mayúsculas y minúsculas como C#, el compilador (no CLR) descubre el caso real del nombre del método y lo incrusta en los metadatos. El CLR no sabe nada de esto. Ahora, si está utilizando la reflexión para enlazar a un método, las API de reflexión ofrecen la capacidad de realizar búsquedas que no distinguen entre mayúsculas y minúsculas. Esta es la medida en que CLR ofrece distinción entre mayúsculas y minúsculas.

Parte del problema aquí es que necesita separar el idioma de la experiencia IDE.

Como lenguaje, VB.NET ciertamente no distingue entre mayúsculas y minúsculas con respecto a los identificadores. Vocación DateTime.Parse y datetime.parse se unirá exactamente al mismo código. Y a diferencia de lenguajes como C#, no es posible definir métodos o tipos que difieran solo por mayúsculas y minúsculas.

Como IDE, VB.NET intenta preservar el caso de los identificadores existentes cuando enumera bastante un bloque de código. Las listas bonitas ocurren cada vez que se sale de la línea de código lógica actual. En este caso se sale de la segunda declaración de SSla lista bonita nota que existe un identificador con ese nombre y lo corrige para que coincida con mayúsculas y minúsculas.

Sin embargo, este comportamiento se realiza puramente como un valor agregado para el usuario. No es parte del lenguaje central.

VB es principalmente mayúsculas y minúsculas, pero hay excepciones. Por ejemplo, los literales XML y la comprensión distinguen entre mayúsculas y minúsculas. Las comparaciones de cadenas generalmente distinguen entre mayúsculas y minúsculas, a diferencia de T-SQL, por ejemplo, pero hay un cambio de compilador para hacer string las comparaciones no distinguen entre mayúsculas y minúsculas. Y, por supuesto, están los casos extremos cuando se trata de herencia, COM y Dynamic Language Runtime.

Puedes añadir valor a nuestra información asistiendo con tu veteranía en las acotaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *