Cómo: Inicializar una variable de matriz en Visual Basic


  • Artículo
  • Tiempo de lectura: 4 minutos

Para inicializar una variable de matriz, incluya un literal de matriz en una New cláusula y especifique los valores iniciales de la matriz. Puede especificar el tipo o permitir que se infera a partir de los valores del literal de matriz. Para obtener más información sobre cómo se deduce el tipo, vea “Rellenar una matriz con valores iniciales” en Matrices.

Para inicializar una variable de matriz mediante un literal de matriz

  • En la cláusula New o al asignar el valor de la matriz, proporcione los valores de elemento entre llaves ({}). En el ejemplo siguiente se muestran varias maneras de declarar, crear e inicializar una variable para que contenga una matriz que tenga elementos de tipo Char.

    ' The following five lines of code create the same array.' Preferred syntaxes are on the lines with chars1 and chars2.Dim chars1 = {"%"c, "&"c, "@"c}Dim chars2 As Char() = {"%"c, "&"c, "@"c}Dim chars3() As Char = {"%"c, "&"c, "@"c}Dim chars4 As Char() = New Char(2) {"%"c, "&"c, "@"c}Dim chars5() As Char = New Char(2) {"%"c, "&"c, "@"c}

    Una vez ejecutada cada instrucción, la matriz que se crea tiene una longitud de 3, con elementos del índice 0 al índice 2 que contienen los valores iniciales. Si proporciona el límite superior y los valores, debe incluir un valor para cada elemento desde el índice 0 hasta el límite superior.

    Tenga en cuenta que no tiene que especificar el límite superior del índice si proporciona valores de elemento en un literal de matriz. Si no se especifica ningún límite superior, el tamaño de la matriz se deduce en función del número de valores del literal de matriz.

Para inicializar una variable de matriz multidimensional mediante literales de matriz

  • Anidar valores dentro de llaves ({}) dentro de llaves. Asegúrese de que los literales de matriz anidada infiern como matrices del mismo tipo y longitud. En el ejemplo de código siguiente se muestran varios ejemplos de inicialización de matriz multidimensional.

    Dim numbers = {{1, 2}, {3, 4}, {5, 6}}Dim customerData = {{"City Power & Light", "http://www.cpandl.com/"}, {"Wide World Importers", "http://wideworldimporters.com"}, {"Lucerne Publishing", "http://www.lucernepublishing.com"}}' You can nest array literals to create arrays that have more than two ' dimensions.Dim twoSidedCube = {{{1, 2}, {3, 4}}, {{5, 6}, {7, 8}}}
  • Puede especificar explícitamente los límites de la matriz o dejarlos fuera y hacer que el compilador infiera los límites de la matriz en función de los valores del literal de matriz. Si proporciona los límites superiores y los valores, debe incluir un valor para cada elemento desde el índice 0 hasta el límite superior en cada dimensión. En el ejemplo siguiente se muestran varias maneras de declarar, crear e inicializar una variable para que contenga una matriz bidimensional que tenga elementos de tipo Short

    ' The following five lines of code create the same array.' Preferred syntaxes are on the lines with scores1 and scores2.Dim scores1 = {{10S, 10S, 10S}, {10S, 10S, 10S}}Dim scores2 As Short(,) = {{10, 10, 10}, {10, 10, 10}}Dim scores3(,) As Short = {{10, 10, 10}, {10, 10, 10}}Dim scores4 As Short(,) = New Short(1, 2) {{10, 10, 10}, {10, 10, 10}}Dim scores5(,) As Short = New Short(1, 2) {{10, 10, 10}, {10, 10, 10}}

    Una vez ejecutada cada instrucción, la matriz creada contiene seis elementos inicializados que tienen índices (0,0), (0,1), (1,0)(0,2), , (1,1)y (1,2). Cada ubicación de la matriz contiene el valor 10.

  • En el ejemplo siguiente se recorre en iteración una matriz multidimensional. En una Windows de consola que se escribe en Visual Basic, pegue el código dentro del Sub Main() método . Los últimos comentarios muestran la salida.

    Dim numbers = {{1, 2}, {3, 4}, {5, 6}}' Iterate through the array.For index0 = 0 To numbers.GetUpperBound(0) For index1 = 0 To numbers.GetUpperBound(1) Debug.Write(numbers(index0, index1).ToString & " ") Next Debug.WriteLine("")Next' Output' 1 2' 3 4' 5 6

Para inicializar una variable de matriz escalonada mediante literales de matriz

  • Anidar valores de objeto entre llaves ({}). Aunque también puede anidar literales de matriz que especifican matrices de distintas longitudes, en el caso de una matriz escalonada, asegúrese de que los literales de matriz anidada estén entre paréntesis (()). Los paréntesis fuerzan la evaluación de los literales de matriz anidada y las matrices resultantes se usan como valores iniciales de la matriz escalonada. En el ejemplo de código siguiente se muestran dos ejemplos de inicialización de matriz escalonada.

    ' Create a jagged array of arrays that have different lengths.Dim jaggedNumbers = {({1, 2, 3}), ({4, 5}), ({6}), ({7})}' Create a jagged array of Byte arrays.Dim images = {New Byte() {}, New Byte() {}, New Byte() {}}
  • En el ejemplo siguiente se recorre en iteración una matriz escalonada. En una Windows de consola que se escribe en Visual Basic, pegue el código dentro del Sub Main() método . Los últimos comentarios del código muestran la salida.

    ' Create a jagged array of arrays that have different lengths.Dim jaggedNumbers = {({1, 2, 3}), ({4, 5}), ({6}), ({7})}For indexA = 0 To jaggedNumbers.Length - 1 For indexB = 0 To jaggedNumbers(indexA).Length - 1 Debug.Write(jaggedNumbers(indexA)(indexB) & " ") Next Debug.WriteLine("")Next' Output:' 1 2 3 ' 4 5 ' 6' 7

Vea también

  • Matrices
  • Solución de problemas de matrices

Videos

1. 23 Tutorial Visual Studio Recorrer una Matriz

2. Ejercicios Visual Basic .Net – Matrices #1 – Matriz de 1 al 9

3. Trabajo de matrices en Visual Basic

4. matrices en Visual Basic de Excel

5. Visual Basic .NET PARTE 13: MATRIZ BIDIMENCIONALES

RELATED:  ¿Qué es una demanda judicial?

Related Posts

Welcome Back!

Login to your account below

Retrieve your password

Please enter your username or email address to reset your password.