Matrizes VB.Net: String, Dinâmico com EXEMPLOS

O que é uma Matriz?

Uma matriz é uma estrutura de dados usada para armazenar elementos do mesmo tipo de dados. Os elementos são ordenados sequencialmente com o primeiro elemento no índice 0 e o último elemento no índice n-1, onde n é o número total de elementos na matriz.

Como declarar e inicializar um array

In VB.NET, os arrays são declarados usando a instrução Dim. Por exemplo:

Dim myData() As Integer

No exemplo acima, definimos um array chamado myData e ele deve conter elementos do tipo de dados inteiro. O exemplo a seguir demonstra como podemos declarar um array para conter elementos de string:

Dim myData(10) As String

Definimos um array chamado myData para conter 10 strings.

Podemos inicializar arrays no momento de sua declaração. Por exemplo:

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

Declaramos o array myData e adicionamos 6 elementos inteiros a ele. Isso também pode ser feito para o caso de strings:

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

Criamos um array chamado estudantes e adicionamos 5 nomes a ele.

Matrizes de tamanho fixo

Uma matriz de tamanho fixo contém um número fixo de elementos. Isso significa que você deve definir a quantidade de elementos que ele conterá durante sua definição. Suponha que você precise de um array para conter apenas 3 nomes de alunos. Você pode definir e inicializar o array da seguinte maneira:

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

Começamos declarando um array de strings chamado estudantes. O 0 a 2 declara que o array armazenará elementos do seu índice 0 ao índice 2, ou seja, teremos 3 elementos no total.

Para adicionar elementos ao array, usamos o nome do array e especificamos o índice no qual o elemento será armazenado. Por exemplo, o nome John será armazenado no índice 0 do array, o que significa que formará o primeiro elemento do array. Antony será o último elemento do array.

Matrizes Dinâmicas

Este é um array que pode conter qualquer número de elementos. O tamanho do array pode aumentar a qualquer momento. Isso significa que você pode adicionar novos elementos ao array sempre que quisermos. Para demonstrar isso, vamos primeiro definir um array de inteiros:

Dim nums() As Integer

Definimos um array inteiro chamado nums. Agora você precisa adicionar dois elementos ao array, dando espaço para redimensioná-lo. Você precisa usar a instrução ReDim da seguinte maneira:

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

Nosso array agora tem dois elementos nos índices 0 e 1. Precisamos adicionar um terceiro elemento a ele no índice 3, preservando os dois elementos que ele já possui. Podemos fazer isso da seguinte maneira:

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

A matriz agora possui três elementos.

Recuperando o conteúdo de um array

Recuperar significa acessar os elementos do array. Para acessar um elemento do array, usamos seu índice. Vamos demonstrar isso usando um exemplo.

Passo 1) Comece criando um novo aplicativo de console.

Passo 2) Adicione o seguinte código ao aplicativo:

Module Module1
    Sub Main()

       Dim students(0 to 2) As String 

        students(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 Sub

End Module

Passo 3) Execute o código clicando no botão Iniciar na barra de ferramentas. Você obterá a seguinte janela:

Recuperando o conteúdo de um array

Usamos o seguinte código:

Recuperando o conteúdo de um array

Explicação do Código:

  1. Criando um módulo chamado Module1.
  2. Criando o subprocedimento principal.
  3. Criando um array chamado Students para armazenar elementos de string. O array armazenará elementos do índice 0 ao índice 2, o que significa que terá um total de 3 elementos.
  4. Adicionando o nome John como primeiro elemento do array, ou seja, John armazenado no índice 0.
  5. Adicionando o nome Alice como segundo elemento do array, ou seja, Alice armazenada no índice 1.
  6. Adicionando o nome Antony como terceiro elemento do array, ou seja, Antony armazenado no índice 2.
  7. Imprimindo algum texto e o elemento armazenado no índice 0 do array Students no console. O Students(0) nos ajuda a acessar o elemento no índice 0 do array chamado Students.
  8. Imprimindo algum texto e o elemento armazenado no índice 1 do array Students no console. O Students(1) nos ajuda a acessar o elemento no índice 1 do array chamado Students.
  9. Imprimindo algum texto e o elemento armazenado no índice 2 do array Students no console. O Students(2) nos ajuda a acessar o elemento no índice 2 do array chamado Students.
  10. Pausar a janela do console aguardando ou o usuário executar uma ação para fechá-la.
  11. Fim do subprocedimento.
  12. Fim do módulo.

Adicionando novos elementos a um array

Isso só acontecerá se você tiver um array dinâmico. Se você declarou um array dimensional de tamanho fixo e ele está cheio de elementos do array, você não pode adicionar novos elementos a ele. O exemplo a seguir demonstra como adicionar novos elementos a uma matriz dinâmica:

Passo 1) Comece criando um novo aplicativo de console.

Passo 2) Adicione o seguinte código ao aplicativo:

Module Module1
    Sub Main()

        Dim nums() As Integer

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

        For x = 0 To nums.Length - 1
            Console.WriteLine("Initial array element: {0}", nums(x))
        Next

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

        For x = 0 To nums.Length - 1
            Console.WriteLine("Final array element: {0}", nums(x))
        Next

        Console.ReadKey()
    End Sub

End Module

Passo 3) Clique no botão Iniciar na barra de ferramentas para executar o código. Você deverá obter a seguinte janela:

Adicionando novos elementos a um array

Usamos o seguinte código:

Adicionando novos elementos a um array

Explicação do Código:

  1. Criando um módulo chamado Module1.
  2. Criando o subprocedimento principal.
  3. Criando um array chamado nums para armazenar valores inteiros.
  4. Especificar que o array acima armazenará dois elementos, ou seja, nos índices 0 e 1, permitindo espaço para redimensionamento.
  5. Adicionando o elemento 12 ao índice 0 do array nums.
  6. Adicionando o elemento 23 ao índice 1 do array nums.
  7. Usando um loop for para criar uma variável x para nos ajudar a iterar do primeiro ao último elemento do array nums. Observe que a matriz agora possui dois elementos, 12 e 23.
  8. Imprimindo algum texto e os elementos do array no console.
  9. Finalizando o loop for e pulando para a próxima parte do código.
  10. Redimensione o array nums para permitir elementos nos índices de 0 a 2. Agora ele será capaz de armazenar 3 elementos em vez de 2. A palavra-chave Preserve nos ajuda a manter os elementos atuais do array, ou seja, 12 e 23.
  11. Adicionando o elemento 35 ao índice 2 do array. A matriz agora possui três elementos, 12, 23 e 35.
  12. Usando um loop for para criar uma variável x para nos ajudar a iterar do primeiro ao último elemento do array nums. Observe que a matriz agora possui três elementos, 12, 23 e 35.
  13. Imprimindo algum texto e os elementos do array no console.
  14. Finalizando o loop for e pulando para a próxima parte do código.
  15. Pause a janela do console aguardando que o usuário tome medidas para fechá-la.
  16. Fim do subprocedimento.
  17. Fim do módulo.

Excluindo uma matriz

É recomendado que você apague seu array depois de terminar de usá-lo, principalmente quando estiver lidando com um array dinâmico. Isso o ajudará a liberar espaço na memória.

Para excluir um array, basta chamar a instrução Erase seguida do nome do array. Por exemplo:

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

Declaramos um array de inteiros denominado nums e adicionamos dois elementos a ele. A instrução Erase nums apagará o array.

A função de divisão

A função split fornecida pelo Visual Basic .NET nos ajuda a dividir uma string em partes e mantê-las em um array. O exemplo a seguir demonstra como usar esta função:

Passo 1) Crie um novo aplicativo de console.

Passo 2) Adicione o seguinte código ao aplicativo:

Module Module1
    Sub Main()

        Dim myarray() As String
        Dim guru99 As String
        Dim x As Integer

        guru99 = "Welcome, to, Guru99"
        myarray = Split(guru99, ", ")

        For x = LBound(myarray) To UBound(myarray)

            Console.WriteLine(myarray(x))

        Next

        Console.ReadKey()
    End Sub

End Module

Passo 3) Execute o código clicando no botão Iniciar na barra de ferramentas. Você deverá obter a seguinte janela:

A função de divisão

Usamos o seguinte código:

A função de divisão

Explicação do Código:

  1. Criando um módulo chamado Module1.
  2. Iniciando o subprocedimento principal.
  3. Criando um array chamado myarray para armazenar valores de string.
  4. Criando uma variável de string chamada guru99.
  5. Criando uma variável inteira chamada x.
  6. Atribuindo uma string à variável guru99.
  7. Dividir a String acima em partes e colocá-las no array chamado myarray. O “,” (vírgula) é o delimitador, portanto a função split irá utilizá-lo para marcar o final das várias partes da String.
  8. Usando a variável x para iterar pelo array chamado myarray. O LBound e o UBound especificam os limites inferiores e superiores da matriz, respectivamente.
  9. Imprimindo os valores do array denominado myarray no console.
  10. Finalizando o loop for e

A função de junção

A função join nos ajuda a unir vários arrays em uma única string. O exemplo a seguir demonstra isso:

Passo 1) Comece criando um novo aplicativo de console.

Passo 2) Adicione o seguinte código ao aplicativo:

Module Module1
    Sub Main()

        Dim students(0 To 2) As String

        students(0) = "John"

        students(1) = "Alice"

        students(2) = "Antony"

        Dim classmates As String


        classmates = Join(students, ", ")

        Console.WriteLine(classmates)

        Console.ReadKey()
    End Sub

End Module

Passo 3) Execute o código clicando no botão Iniciar na barra de ferramentas:

A função de junção

Usamos o seguinte código:

A função de junção

Explicação do Código:

  1. Criando um módulo chamado Module1.
  2. Criando o subprocedimento principal.
  3. Criando uma matriz chamada Students para conter 3 valores de string.
  4. Adicionando o nome John ao índice 0 do array.
  5. Adicionando o nome Alice ao índice 1 do array.
  6. Adicionando o nome Antony ao índice 2 do array.
  7. Definindo uma variável chamada classmates do tipo de dados string.
  8. Unindo todos os elementos do array alunos e separando-os por meio de , (vírgula). O resultado desta operação será atribuído à variável classmates.
  9. Imprimindo o conteúdo da variável classmates no console.
  10. Pausar a janela do console aguardando que o usuário execute uma ação para fechá-la.
  11. Finalizando o subprocedimento principal.
  12. Finalizando o módulo.

Resumo

  • Matrizes são usadas para armazenar elementos de dados que pertencem ao mesmo tipo de dados.
  • Uma matriz dinâmica permite ao usuário redimensioná-la adicionando mais elementos a ela. Você usa o comando ReDim para adicionar elementos a um array existente
  • O tamanho de uma matriz de tamanho fixo não pode ser alterado.
  • Os elementos do array são ordenados usando índices, com o primeiro elemento no índice 0 e o último elemento no índice n-1, onde n é o número total de elementos do array.
  • Arrays podem ser excluídos usando a função Erase
  • Você pode usar as funções split e join para dividir ou juntar uma matriz de strings, respectivamente