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:
Usamos o seguinte código:
Explicação do Código:
- Criando um módulo chamado Module1.
- Criando o subprocedimento principal.
- 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.
- Adicionando o nome John como primeiro elemento do array, ou seja, John armazenado no índice 0.
- Adicionando o nome Alice como segundo elemento do array, ou seja, Alice armazenada no índice 1.
- Adicionando o nome Antony como terceiro elemento do array, ou seja, Antony armazenado no índice 2.
- 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.
- 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.
- 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.
- Pausar a janela do console aguardando ou o usuário executar uma ação para fechá-la.
- Fim do subprocedimento.
- 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:
Usamos o seguinte código:
Explicação do Código:
- Criando um módulo chamado Module1.
- Criando o subprocedimento principal.
- Criando um array chamado nums para armazenar valores inteiros.
- Especificar que o array acima armazenará dois elementos, ou seja, nos índices 0 e 1, permitindo espaço para redimensionamento.
- Adicionando o elemento 12 ao índice 0 do array nums.
- Adicionando o elemento 23 ao índice 1 do array nums.
- 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.
- Imprimindo algum texto e os elementos do array no console.
- Finalizando o loop for e pulando para a próxima parte do código.
- 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.
- Adicionando o elemento 35 ao índice 2 do array. A matriz agora possui três elementos, 12, 23 e 35.
- 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.
- Imprimindo algum texto e os elementos do array no console.
- Finalizando o loop for e pulando para a próxima parte do código.
- Pause a janela do console aguardando que o usuário tome medidas para fechá-la.
- Fim do subprocedimento.
- 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:
Usamos o seguinte código:
Explicação do Código:
- Criando um módulo chamado Module1.
- Iniciando o subprocedimento principal.
- Criando um array chamado myarray para armazenar valores de string.
- Criando uma variável de string chamada guru99.
- Criando uma variável inteira chamada x.
- Atribuindo uma string à variável guru99.
- 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.
- 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.
- Imprimindo os valores do array denominado myarray no console.
- 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:
Usamos o seguinte código:
Explicação do Código:
- Criando um módulo chamado Module1.
- Criando o subprocedimento principal.
- Criando uma matriz chamada Students para conter 3 valores de string.
- Adicionando o nome John ao índice 0 do array.
- Adicionando o nome Alice ao índice 1 do array.
- Adicionando o nome Antony ao índice 2 do array.
- Definindo uma variável chamada classmates do tipo de dados string.
- 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.
- Imprimindo o conteúdo da variável classmates no console.
- Pausar a janela do console aguardando que o usuário execute uma ação para fechá-la.
- Finalizando o subprocedimento principal.
- 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