Declarar y inicializar tablas

2176 vistas

Nota para los usuarios de VB6:
  • El Ãndice inferior de una tabla es 0 en VB.NET
  • La cifra del paréntesis después de la declaración representa el Ãndice superior de la tabla
  • El número de dimensiones de una tabla se fija en la declaración y no es modificable

Veamos algunos ejemplo:

- Declaración de una tabla de la que se desconocen las dimensiones



vbnet
  1. Dim tableau As String()
  2.  
  3. 'asignación de la memoria para la tabla
  4.  
  5. 'tabla no inicializada de 10 strings. En este caso, cada elemento de la tabla tiene el valor por defecto del tipo.
  6. 'Para String es "".
  7. tabla = New String(9} {}
  8. 'Tabla inicializada de 2 strings
  9. tabla = New String(1) {"Uno", "Dos"}



- Declaración de una tabla de una dimensión no inicializada de 10 enteros



vbnet
  1. Dim tabla As Integer() = New Integer(9) {}



- Declaración de una tabla inicializada de 1 dimensión de 10 enteros



vbnet
  1. Dim tabla As Integer() = new Integer(9) {10, 11, 12, 13, 14, 15, 16, 17, 18, 19}
  2. 'Para recorrer la tabla
  3. Dim i As Integer
  4. For i = 0 to tabla.GetUpperBound(0)
  5.   Debug.Writeline(tabla(i))
  6. Next



- Declaración de una tabla de 2 dimensiones no inicializada de 3x6 enteros



vbnet
  1. Dim tabla As Integer(,) = new Integer(3, 2) {}



- Declaración de una tabla de 2 dimensiones inicializado de 3x2 enteros



vbnet
  1. Dim tabla As Integer(,) = New Integer(2, 5) {{0, 1, 2, 3, 4, 5}, {6, 7, 8, 9, 10, 11}, {12, 13, 14, 15, 16, 17}}
  2. 'recorrer la tabla
  3. Dim j,i As Integer
  4. For j = 0 To tabla.GetUpperBound(0)
  5.   For i = 0 To tabla.GetUpperBound(1)
  6.     Console.WriteLine("({0},{1})={2}", j, i, tabla(j, i))
  7.   Next
  8. Next



- Declaración de una tabla de tablas



vbnet
  1. 'sin inicialización
  2. Dim tabla As Integer()()
  3. 'asignamos memoria
  4. tabla = New Integer(1) (){New Integer(2) {0,1,2}, New Integer(1) {0,1}}
  5. 'con inicialización
  6. Dim tabla As Integer()() = {New Integer(2) {0, 1, 2}, New Integer(5) {0, 1, 2, 3, 4, 5}}
  7. 'Recorrer la tabla
  8. Dim i ,j As Integer
  9. For j = 0 to tabla.GetUpperBound(0)
  10.   For i = 0 To tabla(j).GetUpperBound(0)
  11.     Console.WriteLine("({0},{1})={2}", j, i, tabla(j)(i))
  12.   Next
  13. Next