Buscador

Operadores abreviados de asignación

Estos operadores simplifican la escritura de expresiones, facilitando la creación de nuestro código. El resultado empleando operadores abreviados en una expresión, es el mismo que utilizando la sintaxis normal, pero con un pequeño ahorro en la escritura de código. Cuando pruebe el lector estos ejemplos, ejecute por separado la sintaxis normal, y después la abreviada, para evitar resultados inesperados.

Operadores de concatenación: &, +

Estos operadores permiten unir dos o más cadenas de caracteres para formar una única cadena. Se recomienda el uso de & para facilitar la legibilidad del código y evitar ambigüedades. El uso de + puede dar lugar a equívoco, ya que en muchas situaciones no sabremos a primera vista si se está realizando una suma o concatenación. Ver Código fuente 59.

Sub Main()
Dim CadResulta As String
Dim Nombre As String
CadResulta = "esto es " & "una prueba"
Console.WriteLine("Variable CadResulta: {0}", CadResulta)
Nombre = "Juan"
CadResulta = Nombre & " Almendro"
Console.WriteLine("Variable CadResulta: {0}", CadResulta)
Console.ReadLine()

End Sub
Código fuente 59

Resta: -

Efectúa una resta entre dos números, o cambia el signo de un número (de positivo a negativo, y viceversa). Ver Código fuente 58.

Sub Main()
Dim Resultado As Integer
Dim Valor As Integer
Dim OtroValor As Integer
' resta de números
Resultado = 100 - 75
' cambiar a signo negativo un número
Valor = -50
' volver a cambiar el signo de un número,
' estaba en negativo, con lo que vuelve
' a positivo
OtroValor = -Valor
End Sub
Código fuente 58

Suma: + (Part 2)

Si cambiamos a continuación la configuración a Option Strict On, la siguiente operación que antes se ejecutaba, ahora provocará un error. Ver Código fuente 56.

' suma de variables
Cadena = "15"
Valor = 20
CadenaResulta = Cadena + Valor ' error
Código fuente 56

Para solucionar el problema debemos convertir explícitamente todos los operandos al mismo tipo de datos. Observe el lector que en esta situación, no se realiza una suma, sino una concatenación. Ver Código fuente 57.


' suma de variables
Cadena = "15"
Valor = 20
CadenaResulta = Cadena + CStr(Valor) ' devuelve: "1520"
Código fuente 57
A pesar de que el operador + permite concatenar tipos String, se recomienda el uso del operador específico de concatenación &, que veremos más adelante.

Suma: + (Part 1)

En función del tipo de dato de los operandos, este operador realiza una suma de números o una concatenación de cadenas de caracteres. Puede producirse un error dependiendo del tipo de dato del operando y la configuración de Option Strict. El Código fuente 55 muestra algunos ejemplos de suma y concatenación, con la instrucción Option Strict Off.

Sub Main()
Dim Resultado As Double
Dim Cadena As String
Dim Valor As Integer
Dim Nombre As String
Dim CadenaResulta As String
' suma de números
Resultado = 12 + 7 ' devuelve: 19
Resultado = 450 + 130 ' devuelve: 580
' concatenación de cadenas
Cadena = "hola " + "amigos" ' devuelve: "hola amigos"
' suma de variables
Cadena = "15"
Valor = 20
CadenaResulta = Cadena + Valor ' devuelve: "35"
' operaciones incorrectas
Valor = 25
Nombre = "Alfredo"
CadenaResulta = Valor + Nombre ' error
Resultado = Valor + Nombre ' error
End Sub
Código fuente 55

Resto: Mod

Divide dos números y devuelve el módulo o resto de la división. Ver Código fuente 54.

Dim Resultado As Double
Resultado = 10 Mod 3 ' devuelve: 1
Resultado = 100 Mod 27 ' devuelve: 19
Resultado = 38 Mod 4 ' devuelve: 2
Código fuente 54

División entera: \

Divide dos números, devolviendo como resultado un valor numérico entero. Ver Código fuente 53.

Dim Resultado As Integer
Resultado = 50 \ 3 ' devuelve: 16
Resultado = 250 \ 4 ' devuelve: 62
Código fuente 53

División real: /

Divide dos números, devolviendo un resultado con precisión decimal. Ver Código fuente 52.


Dim Resultado As Double
Resultado = 50 / 3 ' devuelve: 16.6666666666667
Resultado = 250 / 4 ' devuelve: 62.5
Código fuente 52
Por norma general, el valor devuelto será de tipo Double,. No obstante, si uno de los operandos es de tipo Single, el resultado será de tipo Single. De igual manera, si los dos operandos son del tipo de dato Decimal, el resultado también será un valor Decimal.

Multiplicación: *

Multiplica dos números. En el caso de que alguno de los operandos sea un valor nulo, se usará como cero. Ver Código fuente 51.

Dim Resultado As Double
Dim DatoSinValor As Integer

Dim Indefinido As Object
Resultado = 25 * 5 ' devuelve: 125
' la variable DatoSinValor no ha sido
' asignada, por lo que contiene cero
Resultado = 50 * DatoSinValor ' devuelve: 0
' la variable Indefinido no ha sido
' asignada, por lo que contiene Nothing
Resultado = 25 * Indefinido ' devuelve: 0
Resultado = 24.8 * 5.98 ' devuelve: 148.304
Código fuente 51

Potenciación: ^

Eleva un número a determinada potencia. Debemos situar el número base a la izquierda de este operador, mientras que el exponente lo situaremos a la derecha. Podemos realizar varias potenciaciones al mismo tiempo y utilizar números negativos. El valor devuelto será de tipo Double. Ver Código fuente 50.

Dim Resultado As Double
Resultado = 12 ^ 5 ' devuelve: 248832
Resultado = 2 ^ 3 ^ 7 ' devuelve: 2097152
Resultado = (-4) ^ 2 ' devuelve: 16
Código fuente 50

Operadores

Los operadores son aquellos elementos del lenguaje que nos permiten combinar variables, constantes, valores literales, instrucciones, etc., para obtener un valor numérico, lógico, de cadena, etc., como resultado. La combinación de operadores con variables, instrucciones, etc., se denomina expresión, mientras que a los elementos integrantes de una expresión y que no son operadores, se les denomina operandos. 
En función de la complejidad de la operación a realizar, o del tipo de operador utilizado, una expresión puede ser manipulada a su vez como un operando dentro de otra expresión de mayor nivel. Los operadores se clasifican en las categorías detalladas a continuación, según el tipo de expresión a construir.

Arrays multidimensionales - III

Empleando For...Next usaremos la función UBound( ) ya comentada antes, con la particularidad de que al emplearla para arrays multidimensionales, deberemos pasarle en el segundo parámetro el número de dimensión del que vamos a extraer valores. Veamos un ejemplo en el Código fuente 49.

Dim Articulos(2, 3) As String
Dim Contador1 As Integer
Dim Contador2 As Integer
Articulos(0, 0) = "mesa"
Articulos(0, 1) = "silla"
Articulos(0, 2) = "sofá"
Articulos(0, 3) = "estante"
Articulos(1, 0) = "monitor"
Articulos(1, 1) = "teclado"
Articulos(1, 2) = "impresora"
Articulos(1, 3) = "grabadora"
Articulos(2, 0) = "coche"
Articulos(2, 1) = "tren"
Articulos(2, 2) = "barco"
Articulos(2, 3) = "bicicleta"
For Contador1 = 0 To UBound(Articulos, 1)
Console.WriteLine("Dimensión actual del array: {0}", Contador1)
For Contador2 = 0 To UBound(Articulos, 2)
Console.WriteLine("----Valor del elemento: {0}", Articulos(Contador1,
Contador2))

Next
Next
Código fuente 49

Arrays multidimensionales - II

Como acabamos de ver en el esquema de la figura, el primer número en la declaración del array: 2, indica la cantidad de dimensiones que tiene el array, y el segundo: 3, indica la cantidad de elementos que tendrá cada dimensión; ya que los arrays comienzan por cero, en este ejemplo se crea un array de tres dimensiones, y cada una de esas dimensiones tendrá cuatro elementos. El Código fuente 48 muestra la forma de declarar y asignar valores a un array multidimensional de estas características

Dim Articulos(2, 3) As String
Articulos(0, 0) = "mesa"
Articulos(0, 1) = "silla"
Articulos(0, 2) = "sofá"
Articulos(0, 3) = "estante"
Articulos(1, 0) = "monitor"
Articulos(1, 1) = "teclado"
Articulos(1, 2) = "impresora"
Articulos(1, 3) = "grabadora"
Articulos(2, 0) = "coche"
Articulos(2, 1) = "tren"
Articulos(2, 2) = "barco"
Articulos(2, 3) = "bicicleta"
Código fuente 48
Para recorrer los elementos de un array multidimensional utilizaremos los bucles For...Next o For Each...Next, que se explicarán en un tema más adelante. La diferencia entre utilizar una u otra técnica para manipular el contenido del array, reside en que con For...Next tenemos un mayor control de los elementos a manipular, mientras que con For Each...Next, al implementar internamente el proceso, irá tomando las primeras posiciones de cada una de las dimensiones del array, después las segundas, y así sucesivamente.

Arrays multidimensionales - I

Según el modo en que se organizan los valores en sus elementos, un array se puede clasificar en los siguientes tipos:
• Unidimensionales. Se trata de aquel array que tiene una única lista de valores, también denominada dimensión. Es el tipo de array con el que hemos trabajado hasta el momento.
• Multidimensionales. Consiste en un array que dispone de más de una lista de valores o dimensión.
Los arrays multidimensionales se representan en forma de tabla, con filas y columnas, tal y como muestra la Figura 64.
Figura 64. Representación gráfica de un array multidimensional.

Recorrer un array

Para recorrer todos los elementos de un array emplearemos la estructura de control For...Next, que ejecuta un bloque de código un número determinado de veces, y la función del lenguaje UBound( ), que devuelve el número correspondiente al índice superior del array pasado como parámetro. Ver Código fuente 47.

Sub Main()
' crear un array y rellenarlo con valores
Dim Nombres(3) As String
Nombres(0) = "Ana"
Nombres(1) = "Pedro"
Nombres(2) = "Antonio"
Nombres(3) = "Laura"
' recorrer el array y mostrar el contenido
' de cada uno de sus elementos
Dim Contador As Integer
For Contador = 0 To UBound(Nombres)
Console.WriteLine("Posición del array: {0}, valor: {1}", _
Contador, Nombres(Contador))
Next
Console.ReadLine()
End Sub
Código fuente 47

La estructura For...Next será explicada con más detalle en el apartado dedicado a las estructuras de control del lenguaje.

Modificación de tamaño

En función de si la cantidad de elementos de un array puede ser cambiada, los arrays se clasifican en los siguientes tipos: 
• Estáticos. Son aquellos que tienen un tamaño fijo y no se pueden modificar. 
• Dinámicos. Son aquellos cuya cantidad de elementos puede ser ampliada o reducida. 

En VB.NET todos los arrays son de tipo dinámico Para modificar el tamaño o número de elementos de un array, emplearemos la instrucción ReDim, seguida del array a modificar y el nuevo tamaño. En el Código fuente 45, modificamos el tamaño de un array, añadiéndole dos elementos.

' array con 4 elementos: de 0 a 3
Dim Nombres(3) As String
' asignar valores al array
Nombres(0) = "Ana"
Nombres(1) = "Pedro"
Nombres(2) = "Antonio"
Nombres(3) = "Laura"
' ampliamos el array con 6 elementos: de 0 a 5
ReDim Nombres(5)
Código fuente 45
ReDim no toma el array existente y modifica su número de elementos, sino que internamente crea un nuevo array con el número de elementos indicado, por lo que se pierden los valores del array previo. Para solucionar este inconveniente, debemos utilizar junto a ReDim, la palabra clave Preserve. Con ello, los valores existentes en el array a modificar son conservados. Ver Código fuente 46.

' ampliamos el array con 6 elementos: de 0 a 5
' y los valores de los elementos que hubiera, son conservados
ReDim Preserve Nombres(5)
Código fuente 46

Asignación y obtención de valores

Para asignar y obtener valores de los elementos de un array, actuaremos igual que para una variable normal, pero empleando además el índice entre paréntesis junto al nombre de la variable, para indicar qué posición queremos manipular. Ver Código fuente 44.

Sub Main()
' array con 4 elementos: de 0 a 3
Dim Nombres(3) As String
' asignar valores al array
Nombres(0) = "Ana"
Nombres(1) = "Pedro"
Nombres(2) = "Antonio"
Nombres(3) = "Laura"
' obtener valores de un array
Dim ValorA As String
Dim ValorB As String
ValorA = Nombres(1) ' Pedro
ValorB = Nombres(3) ' Laura
' mostrar los valores obtenidos del array
Console.WriteLine("Variables: ValorA --> {0}, ValorB --> {1}", ValorA, ValorB)
Console.ReadLine()
End Sub
Código fuente 44

Declaración - II

Al declarar un array, todos sus valores son del mismo tipo de dato. Si necesitamos que dichos valores sean de tipos diferentes, debemos declarar el array como tipo Object, ya que al ser este el tipo de dato genérico en el entorno de .NET, nos permitirá asignar valores de distintos tipos al array.
Figura 63. Declaración de un array.

Declaración - I

Para declarar un array actuaremos prácticamente igual que para declarar una variable normal, con la diferencia de que utilizaremos los paréntesis junto al nombre de la variable, para indicar que se trata de un array, y opcionalmente, dentro de los paréntesis, indicaremos el número de elementos de que inicialmente va a constar el array. 
También es posible, asignar valores a los elementos en el mismo momento de su declaración. Debemos tener en cuenta a la hora de establecer el número de elementos, que el primer índice de un array es el cero, por lo que al ser creado, el número real de elementos en un array será el especificado en la declaración más uno. La Figura 63 muestra un esquema de la declaración de un array. A continuación vemos unos ejemplos de creación de arrays en el Código fuente 43.

Sub Main()
' array sin elementos
Dim Colores() As String
' array con 4 elementos vacíos: de 0 a 3
Dim Nombres(3) As String
' array con 3 elementos, cuyos valores asignamos
' en el momento de la declaración del array
Dim Frutas() As String = {"Manzana", "Naranja", "Pera"}

End Sub
Código fuente 43

Arrays

Como se indicó en la descripción general de los componentes del lenguaje, un array es un tipo de dato compuesto, formado por un conjunto de elementos del mismo tipo de dato, al que se le asigna un identificador para poder reconocerlo en el código del programa. También se les denomina matriz o vector, aunque en este texto emplearemos el término array de forma genérica.
A cada elemento del array se accede mediante un índice, que indica el número de posición que ocupa dicho elemento dentro del array. Si tuviéramos que representar un array gráficamente, podríamos hacerlo mediante un conjunto de casillas, en cada una de las cuales se encontraría un elemento del array. Cada casilla tendría un número (índice) que identificaría de forma única su posición. Ver Figura 62.
Figura 62. Representación gráfica de un array.
En este apartado vamos a realizar una introducción a los arrays y su uso de forma básica. Puesto que los tipos de datos pueden ser tratados al mismo tiempo como objetos en el lenguaje VB.NET, cubriremos algunos aspectos avanzados sobre arrays al llegar a la programación con objetos.

Depuración del código en ejecución II

Para ejecutar el programa en modo de depuración pulsaremos [F8], o seleccionaremos el menú Depurar + Ir a instrucciones. Cualquiera de estas acciones iniciarán el programa dentro del contexto del depurador, deteniendo la ejecución en la primera línea de código ejecutable, destacada en color amarillo. La línea marcada en amarillo es la que está a punto de ejecutarse; para ejecutarla y pasar a la siguiente línea pulsaremos de nuevo [F8], y así sucesivamente hasta llegar a la última línea del programa, donde el depurador finalizará la ejecución. Podemos ver de forma inmediata el valor de una variable simplemente situando el cursor del ratón sobre ella, lo que mostrará el contenido en una viñeta informativa. Ver Figura 60
Figura 60. Visualizando el contenido de una variable durante la depuración.
Podemos también ver con detalle el valor que van adquiriendo las variables a lo largo de la ejecución, abriendo la ventana Locales del depurador, mediante el menú Depurar + Ventanas + Locales, o pulsando [CTRL + ALT + V, L]. Ver Figura 61.
Figura 61. Ventana Locales del depurador.
Si en cualquier momento queremos continuar la ejecución normal del programa sin seguir usando el depurador pulsaremos [F5].

Depuración del código en ejecución I

A continuación haremos clic en el elemento Mi perfil, situado en la parte izquierda de esta ventana. Esta opción nos permite configurar las características del tipo de programador que va a trabajar con el IDE, como las combinaciones de teclado, ayuda, etc. En nuestro caso particular, en la lista desplegable Combinación de teclado seleccionaremos Visual Basic 6, para que las combinaciones de teclas se adapten a las del programador de Visual Basic, el resto de opciones podemos dejar las que hay por defecto. Ver Figura 59.
Figura 59. Configuración del perfil del programador en el IDE.
Una vez configurado nuestro perfil de trabajo, sigamos con las cuestiones referentes al depurador. Un depurador nos permite introducirnos dentro del código de nuestro programa durante la ejecución del mismo, para observar qué es lo que está ocurriendo: ejecutar línea a línea el programa, observar el valor de las variables, etc., aspectos todos ellos fundamentales para el seguimiento de errores y fallos en la lógica de la aplicación. VS.NET dispone de un excelente depurador; del que describiremos a continuación sus elementos más básicos, para que el lector pueda realizar un seguimiento más preciso de lo que sucede durante la ejecución de su aplicación.

Introducción a los arrays. Operadores

Depuración del código en ejecución 
Para comprobar el resultado de los ejemplos realizados hasta el momento hemos utilizado la salida a consola. Sin embargo esto no es suficiente información para el programador a la hora de desarrollar una aplicación. 
Un lenguaje o entorno de programación ha de proporcionar al programador utilidades que le permitan comprobar cómo se ejecuta el código de la aplicación línea por línea, información sobre el contenido de las variables, expresiones, puntos de interrupción en la ejecución, etc. Al conjunto de todas estas técnicas o utilidades que debe aportar el lenguaje se le denomina depurador. 
El entorno de Visual Studio .NET aporta un depurador muy completo, del que vamos a mostrar en este apartado algunas de sus funcionalidades básicas, dejando para un tema posterior un estudio más completo de esta herramienta. 
Ya que algunas características del depurador y de otros elementos se realizan mediante combinaciones de teclado, es recomendable configurar el IDE al perfil de programador más adecuado, o con el que nos encontremos más cómodos.
Para configurar el perfil del usuario de VS.NET debemos situarnos en la pestaña correspondiente a la página de inicio del IDE (Start). Si hemos cerrado esta ventana o pestaña podemos abrirla de nuevo muy fácilmente mediante la opción de menú del IDE Ayuda + Mostrar página de inicio. Ver Figura 58.
Figura 58. Pestaña Página de inicio en la ventana principal del IDE.

Constantes - III

En el anterior ejemplo, realizamos el descuento utilizando directamente el valor a descontar. Si en un momento dado, necesitamos cambiar dicho valor de descuento, tendremos que recorrer todo el código e ir cambiando en aquellos lugares donde se realice esta operación. Empleando una constante para el descuento, y utilizando dicha constante en todos aquellos puntos del código en donde necesitemos aplicar un descuento, cuando debamos modificar el descuento, sólo necesitaremos hacerlo en la línea en la que declaramos la constante. Ver Código fuente 42.

Sub Main()
' crear constante para calcular descuento
Const DESCUENTO As Integer = 100
' venta de productos
Dim Importe As Double
Dim TotalVenta As Double
Console.WriteLine("Introducir importe de la venta")
Importe = Console.ReadLine()
' aplicar descuento sobre la venta, atención al uso de la constante
TotalVenta = Importe - DESCUENTO
Console.WriteLine("El importe de la venta es: {0}", TotalVenta)
Console.WriteLine()
' .............
' .............
' .............
' factura de mercancías
Dim PrecioArt As Double
Dim TotalFactura As Double
Console.WriteLine("Introducir precio del artículo")

PrecioArt = Console.ReadLine()
' aplicar descuento a la factura, atención al uso de la constante
TotalFactura = PrecioArt - DESCUENTO
Console.WriteLine("El total de la factura es: {0}", TotalFactura)
Console.WriteLine()
' .............
' .............
' .............
Console.ReadLine()
End Sub
Código fuente 42

Constantes - II

Supongamos como ejemplo, que hemos escrito un programa en el que se realiza una venta de productos y se confeccionan facturas. En ambas situaciones debemos aplicar un descuento sobre el total resultante. Ver Código fuente 41.

Sub Main()
' venta de productos

Dim Importe As Double
Dim TotalVenta As Double
Console.WriteLine("Introducir importe de la venta")
Importe = Console.ReadLine()
' aplicar descuento sobre la venta
TotalVenta = Importe - 100
Console.WriteLine("El importe de la venta es: {0}", TotalVenta)
Console.WriteLine()
' .............
' .............
' .............
' factura de mercancías
Dim PrecioArt As Double
Dim TotalFactura As Double
Console.WriteLine("Introducir precio del artículo")
PrecioArt = Console.ReadLine()
' aplicar descuento a la factura
TotalFactura = PrecioArt - 100
Console.WriteLine("El total de la factura es: {0}", TotalFactura)
Console.WriteLine()
' .............
' .............
' .............
Console.ReadLine()
End Sub
Código fuente 41

Constantes - I

Al igual que las variables, una constante es un elemento del lenguaje que guarda un valor, pero que en este caso y como su propio nombre indica, dicho valor será permanente a lo largo de la ejecución del programa, no pudiendo ser modificado. Para declarar una constante, debemos utilizar la palabra clave Const, debiendo al mismo tiempo establecer el tipo de dato y asignarle valor. Ver Código fuente 40.

Sub Main()
Const Color As String = "Azul"
Const ValorMoneda As Double = 120.48
End Sub
Código fuente 40
La tipificación de una constante se rige, al igual que las variables, por la configuración que tengamos establecida para la instrucción Option Strict. Si intentamos asignar un valor a una constante después de su asignación inicial, el IDE nos subrayará la línea con un aviso de error de escritura, y se producirá igualmente un error si intentamos ejecutar el programa. Ver Figura 57
Figura 57. No es posible asignar valores a constantes después de su creación.
La ventaja del uso de constantes reside en que podemos tener un valor asociado a una constante a lo largo de nuestro código para efectuar diversas operaciones. Si por cualquier circunstancia, dicho valor debe cambiarse, sólo tendremos que hacerlo en el lugar donde declaramos la constante.

Grabación del código modificado

Cuando editamos el código fuente de nuestro programa, es conveniente cada cierto tiempo, cuanto más frecuente, mejor, grabar a disco el archivo o archivos de código modificados. 
Para ello podemos elegir la opción de menú del IDE Archivo + Guardar NombreFichero o la combinación de teclas [CONTROL + S]. Esta costumbre nos puede ahorrar serios disgustos en el caso de un apagón imprevisto del equipo cuando estamos en plena modificación de un programa y no hemos guardado los cambios realizados. 
De forma automática, el IDE graba los archivos del programa a disco cada vez que ejecutamos el proyecto, lo cual también supone una gran ayuda.

Avisos del IDE sobre errores en el código

Al declarar una variable con un nombre incorrecto, o si se produce otro tipo de error en la escritura del código, el propio IDE se encarga de avisarnos que existe un problema subrayando el fragmento de código conflictivo y mostrando una viñeta informativa al situar sobre dicho código el cursor. Ver Figura 56.
Figura 56. Código con errores subrayado por el IDE.

Estos avisos constituyen una gran ayuda, ya que permiten al programador observar problemas en la escritura del código, antes incluso de ejecutar el programa. 
Existen multitud de avisos de muy diversa naturaleza, teniendo en cuenta que la tónica general consiste en que el código problemático quedará subrayado por el IDE hasta que no modifiquemos la línea en cuestión y la escribamos correctamente.

Tipificación obligatoria - III

Si queremos que no se produzcan errores de conversión en el anterior código fuente, tendremos que emplear las funciones de conversión de tipo, o el objeto Convert, que proporciona el lenguaje. En este caso utilizaremos CInt( ), a la que pasamos un valor numérico como parámetro, y devuelve un tipo numérico Integer; y CStr( ), que convierte a String el valor que pasemos como parámetro. Consulte el lector el conjunto de funciones de conversión en la documentación de .NET Framework para una descripción detallada. Veamos el resultado en el Código fuente 39.

Sub Main()
' ahora es obligatorio establecer
' el tipo de dato a todas las variables
Dim Valor As Integer
Dim TotalGeneral As Double
Dim Dato As String
TotalGeneral = 500
Valor = CInt(TotalGeneral) ' conversión de tipos
Dato = CStr(TotalGeneral) ' conversión de tipos
End Sub
Código fuente 39

Establecer Option Strict On requiere un mayor trabajo por parte del programador, ya que ha de ser más cuidadoso y escribir un código más correcto y preciso, lo cual es muy conveniente. Sin embargo, ya que la opción por defecto en este sentido es Option Strict Off, los ejemplos realizados a lo largo de este texto se ajustarán en este particular a dicha configuración, con ello ganamos en comodidad, ya que evitaremos la obligación de realizar conversiones de tipos en muy diversas situaciones.