Arreglos VB.Net: Cadena, Dinámico con EJEMPLOS

¿Qué es una matriz?

Una matriz es una estructura de datos que se utiliza para almacenar elementos del mismo tipo de datos. Los elementos se ordenan secuencialmente con el primer elemento en el índice 0 y el último elemento en el índice n-1, donde n es el número total de elementos en la matriz.

En este tutorial, aprenderá:

  • ¿Qué es una matriz?
  • Cómo declarar e inicializar una matriz
  • Matrices de tamaño fijo
  • Matrices dinámicas
  • Recuperar el contenido de una matriz
  • Agregar nuevos elementos a una matriz
  • Borrar una matriz
  • La función de división
  • La función de unión

Cómo declarar e inicializar una matriz

En VB.NET, las matrices se declaran mediante la instrucción Dim. Por ejemplo:

Dim myData() As Integer

En el ejemplo anterior, hemos definido una matriz llamada myData, y debe contener elementos del tipo de datos enteros. El siguiente ejemplo demuestra cómo podemos declarar una matriz para contener elementos de cadena:

Dim myData(10) As String

Hemos definido una matriz llamada myData para contener 10 cadenas.

Podemos inicializar matrices en el momento de su declaración. Por ejemplo:

Dim myData() As Integer = {11, 12, 22, 7, 47, 32}

Hemos declarado la matriz myData y le hemos agregado 6 elementos enteros. Esto también se puede hacer para el caso de cadenas:

Dim students() As String = {"John", "Alice", "Antony", "Gloria", "jayden"}

Hemos creado una matriz llamada estudiantes y le hemos agregado 5 nombres.

Matrices de tamaño fijo

Una matriz de tamaño fijo contiene un número fijo de elementos. Esto significa que debe definir el número de elementos que contendrá durante su definición. Suponga que necesita una matriz para contener solo 3 nombres de estudiantes. Puede definir e inicializar la matriz de la siguiente manera:

Dim students(0 to 2) As Stringstudents(0) = "John"students (1) = "Alice"students (2) = "Antony"

Comenzamos declarando una matriz de cadenas llamada estudiantes. El 0 a 2 declara que la matriz almacenará elementos desde su índice 0 hasta el índice 2, lo que significa que tendremos 3 elementos en total.

Para agregar elementos a la matriz, usamos el nombre de la matriz y especificamos el índice en el que se almacenará el elemento. Por ejemplo, el nombre John se almacenará en el índice 0 de la matriz, lo que significa que formará el primer elemento de la matriz. Antony será el último elemento de la matriz.

Matrices dinámicas

Esta es una matriz que puede contener cualquier número de elementos. El tamaño de la matriz puede crecer en cualquier momento. Esto significa que puede agregar nuevos elementos a la matriz en cualquier momento que deseemos. Para demostrar esto, primero definamos una matriz de enteros:

Dim nums() As Integer

Hemos definido una matriz de enteros llamada nums. Ahora necesita agregar dos elementos a la matriz, mientras deja espacio para cambiar su tamaño. Necesita usar la declaración ReDim de la siguiente manera:

ReDim nums(1)nums(0) = 12nums(1) = 23

Nuestra matriz ahora tiene dos elementos en los índices 0 y 1. Necesitamos agregarle un tercer elemento en el índice 3 conservando los dos elementos que ya tiene. Podemos hacerlo de la siguiente manera:

ReDim Preserve nums(2)nums(2) = 35

La matriz ahora tiene tres elementos.

Recuperar el contenido de una matriz

Recuperar significa acceder a los elementos de la matriz. Para acceder a un elemento de matriz, usamos su índice. Demostremos esto con un ejemplo.

Paso 1) Comience creando una nueva aplicación de consola.

Paso 2) Agrega el siguiente código a la aplicación:

Module Module1Sub Main()Dim students(0 to 2) As Stringstudents(0) = "John"students(1) = "Alice"students(2) = "Antony"Console.WriteLine("First student is {0} ", students(0))Console.WriteLine("Second student is {0} ", students(1))Console.WriteLine("Third student is {0} ", students(2))Console.ReadKey()End SubEnd Module

Paso 3) Ejecute el código haciendo clic en el botón Inicio de la barra de herramientas. Obtendrá la siguiente ventana:

Hemos utilizado el siguiente código:

Explicación del código:

  1. Creando un módulo llamado Module1.
  2. Creación del subprocedimiento principal.
  3. Creando una matriz llamada estudiantes para almacenar elementos de cadena. La matriz almacenará elementos desde el índice 0 al índice 2, lo que significa que tendrá un total de 3 elementos.
  4. Añadiendo el nombre John como el primer elemento de la matriz, es decir, John almacenado en el índice 0.
  5. Añadiendo el nombre Alice como segundo elemento de la matriz, es decir, Alice almacenada en el índice 1.
  6. Añadiendo el nombre Antony como tercer elemento de la matriz, es decir, Antony almacenado en el índice 2.
  7. Imprimiendo algo de texto y el elemento almacenado en el índice 0 de la matriz de estudiantes en la consola. Los estudiantes (0) nos ayudan a acceder al elemento en el índice 0 de la matriz denominada estudiantes.
  8. Imprimiendo algo de texto y el elemento almacenado en el índice 1 de la matriz de estudiantes en la consola. Los estudiantes (1) nos ayudan a acceder al elemento en el índice 1 de la matriz denominada estudiantes.
  9. Imprimiendo algo de texto y el elemento almacenado en el índice 2 de la matriz de estudiantes en la consola. Los estudiantes (2) nos ayudan a acceder al elemento en el índice 2 de la matriz denominada estudiantes.
  10. Pausar la ventana de la consola en espera o que el usuario realice una acción para cerrarla.
  11. Fin del subprocedimiento.
  12. Fin del módulo.

Agregar nuevos elementos a una matriz

Esto solo sucederá si tiene una matriz dinámica. Si ha declarado una matriz dimensional de tamaño fijo y está llena de elementos de matriz, no puede agregarle elementos nuevos. El siguiente ejemplo demuestra cómo agregar nuevos elementos a una matriz dinámica:

Paso 1) Comience creando una nueva aplicación de consola.

Paso 2) Agrega el siguiente código a la aplicación:

Module Module1Sub Main()Dim nums() As IntegerReDim nums(1)nums(0) = 12nums(1) = 23For x = 0 To nums.Length - 1Console.WriteLine("Initial array element: {0}", nums(x))NextReDim Preserve nums(2)nums(2) = 35For x = 0 To nums.Length - 1Console.WriteLine("Final array element: {0}", nums(x))NextConsole.ReadKey()End SubEnd Module

Paso 3) Haga clic en el botón Inicio de la barra de herramientas para ejecutar el código. Debería obtener la siguiente ventana:

Hemos utilizado el siguiente código:

Explicación del código:

  1. Creando un módulo llamado Module1.
  2. Creación del subprocedimiento principal.
  3. Creando una matriz llamada nums para contener valores enteros.
  4. Especificando que la matriz anterior almacenará dos elementos, es decir, en el índice 0 y 1 mientras deja espacio para cambiar el tamaño.
  5. Añadiendo el elemento 12 al índice 0 de los números de matriz.
  6. Añadiendo el elemento 23 al índice 1 de los números de matriz.
  7. Usar un bucle for para crear una variable x que nos ayude a iterar desde el primero hasta el último elemento de la matriz nums. Tenga en cuenta que la matriz ahora tiene dos elementos, 12 y 23.
  8. Imprimiendo texto y los elementos de la matriz en la consola.
  9. Terminando el ciclo for y saltando a la siguiente parte del código.
  10. Cambie el tamaño de los números de matriz para permitir elementos en los índices 0 a 2. Ahora podrá almacenar 3 elementos en lugar de 2. La palabra clave Preserve nos ayuda a mantener los elementos actuales de la matriz, es decir, 12 y 23.
  11. Añadiendo el elemento 35 al índice 2 de la matriz. La matriz ahora tiene tres elementos, 12, 23 y 35.
  12. Usar un bucle for para crear una variable x que nos ayude a iterar desde el primero hasta el último elemento de la matriz nums. Tenga en cuenta que la matriz ahora tiene tres elementos, 12, 23 y 35.
  13. Imprimiendo texto y los elementos de la matriz en la consola.
  14. Terminando el ciclo for y saltando a la siguiente parte del código.
  15. Pausa la ventana de la consola esperando a que el usuario actúe para cerrarla.
  16. Fin del subprocedimiento.
  17. Fin del módulo.

Eliminar una matriz

Se recomienda que borre su matriz una vez que haya terminado con ella, principalmente cuando se trata de una matriz dinámica. Esto le ayudará a liberar espacio en la memoria.

Para eliminar una matriz, solo tiene que llamar a la instrucción Erase seguida del nombre de la matriz. Por ejemplo:

Dim nums(1) As Integernums(0) = 12nums(1) = 23Erase nums

Hemos declarado una matriz de enteros denominada nums y le hemos agregado dos elementos. La instrucción Erase nums borrará la matriz.

La función de división

La función de división proporcionada por Visual Basic .NET nos ayuda a dividir una cadena en partes y mantenerlas en una matriz. El siguiente ejemplo demuestra cómo utilizar esta función:

Paso 1) Cree una nueva aplicación de consola.

Paso 2) Agrega el siguiente código a la aplicación:

Module Module1Sub Main()Dim myarray() As StringDim guru99 As StringDim x As Integerguru99 = "Welcome, to, Guru99"myarray = Split(guru99, ", ")For x = LBound(myarray) To UBound(myarray)Console.WriteLine(myarray(x))NextConsole.ReadKey()End SubEnd Module

Paso 3) Ejecute el código haciendo clic en el botón Inicio de la barra de herramientas. Debería obtener la siguiente ventana:

Hemos utilizado el siguiente código:

Explicación del código:

  1. Creando un módulo llamado Module1.
  2. Inicio del subprocedimiento principal.
  3. Creando una matriz llamada myarray para contener valores de cadena.
  4. Creando una variable de cadena llamada guru99.
  5. Creando una variable entera llamada x.
  6. Asignar una cadena a la variable guru99.
  7. Dividir la cadena de arriba en partes y colocarlas en la matriz denominada myarray. El "," (coma) es el delimitador, por lo tanto, la función de división lo usará para marcar el final de las distintas partes de la cadena.
  8. Usando la variable x para iterar a través de la matriz llamada myarray. LBound y UBound especifican los límites inferiores y superiores de la matriz, respectivamente.
  9. Imprimir los valores de la matriz denominada myarray en la consola.
  10. Terminando el bucle for y

La función de unión

La función de unión nos ayuda a unir múltiples matrices en una sola cadena. El siguiente ejemplo demuestra esto:

Paso 1) Comience creando una nueva aplicación de consola.

Paso 2) Agrega el siguiente código a la aplicación:

Module Module1Sub Main()Dim students(0 To 2) As Stringstudents(0) = "John"students(1) = "Alice"students(2) = "Antony"Dim classmates As Stringclassmates = Join(students, ", ")Console.WriteLine(classmates)Console.ReadKey()End SubEnd Module

Paso 3) Ejecute el código haciendo clic en el botón Inicio en la barra de herramientas:

Hemos utilizado el siguiente código:

Explicación del código:

  1. Creando un módulo llamado Module1.
  2. Creación del subprocedimiento principal.
  3. Creando una matriz llamada estudiantes para contener 3 valores de cadena.
  4. Añadiendo el nombre John al índice 0 de la matriz.
  5. Añadiendo el nombre Alice al índice 1 de la matriz.
  6. Añadiendo el nombre Antony al índice 2 de la matriz.
  7. Definición de una variable denominada compañeros de clase de tipo de datos de cadena.
  8. Uniendo todos los elementos de la matriz de alumnos y separándolos mediante una, (coma). El resultado de esta operación se asignará a la variable compañeros.
  9. Imprimir el contenido de la variable compañeros de clase en la consola.
  10. Pausar la ventana de la consola a la espera de que el usuario actúe para cerrarla.
  11. Finalizando el subprocedimiento principal.
  12. Finalizando el módulo.

Resumen

  • Las matrices se utilizan para almacenar elementos de datos que pertenecen al mismo tipo de datos.
  • Una matriz dinámica permite al usuario cambiar su tamaño agregando más elementos. Utiliza el comando ReDim para agregar elementos a una matriz existente
  • El tamaño de una matriz de tamaño fijo no se puede cambiar.
  • Los elementos de la matriz se ordenan utilizando índices, con el primer elemento en el índice 0 y el último elemento en el índice n-1, donde n es el número total de elementos de la matriz.
  • Las matrices se pueden eliminar con la función Borrar
  • Puede usar las funciones de división y unión para dividir o unir una matriz de cadenas respectivamente

Articulos interesantes...