2009-09-11 29 views
6

Ésta es una pregunta muy simple y estoy sorprendido tengo que preguntar, pero ...variable local Sólo lectura en VB.Net

¿Cómo se declara una variable local de sólo lectura en VB.Net?

Java y C++ tienen variables locales finales/const, así que estoy seguro de que VB.Net debe tenerlas, pero no puedo encontrar la sintaxis para ello.

Respuesta

7

Lamentablemente, VB.NET solo admite readonly campos no solo locals. VB.NET no tiene nada como el modificador const de C++ para marcar una variable como de solo lectura.

Dependiendo del tipo de la variable, el modificador Const poder hacer el trabajo pero no significa lo mismo que C++ 's const. En VB.NET, Const es simplemente una variable cuyo valor se conoce en tiempo de compilación, lo que permite al compilador reemplazar todos los usos de esa variable en el código fuente con el valor mismo.

Mientras que el compilador le impide la modificación de una variable Const que se vea muy limitado en sus opciones para los tipos que se pueden marcar como Const ya que la mayoría de los tipos no pueden proporcionar un valor conocido en tiempo de compilación.

+0

¿Lo dices en serio? El Java inferior tiene algo que .Net no tiene? ¡Guauu! Estoy un poco sorprendido de que un descuido tan masivo haya pasado por – mcjabberz

+1

. A mí también me gustaría ver este concepto. Sin embargo, en realidad preferiría que _todos_ los locales fueran implícitamente de solo lectura y solo a través de un modificador especial (como 'mutable' de F #) se puede cambiar una variable después de la inicialización. –

Cuestiones relacionadas