Sub Main (args As String ())
Console.WriteLine("Demostração de Arrays em VB.NET")
Console.WriteLine("===============================")
Console.WriteLine("1. Declaração e Inicialização de Arrays")
Console.WriteLine("========================================")
Dim numeros () As Integer = {1, 2, 3, 4, 5}
Console.WriteLine("Array unidimensional: Dim numeros () As Integer= {1, 2, 3, 4, 5}")
Dim matriz (,) As Integer = {{1,2,3}, {4,5,6}}
Console. WriteLine ("Array multidimensional: Dim matriz (,) As Integer = {{1,2,3}, {4,5,6}}")
Dim jaggedArray()() As Integer = {New Integer () {1,2}, New Integer () {3,4,5}}
Console.WriteLine("Array jagged: Dim jaggedArray () () As Integer = {New Integer () {1,2}, New Integer () {3,4,5}}")
Console.WriteLine("2. Acesso e modificação de elementos")
Console.WriteLine("====================================")
Console.WriteLine($"Primeiro elemento do array numeros: {numeros(0)}")
Console.WriteLine($"Primeiro elemento após a modificação: {numeros(0)}")
Console.WriteLine($"Elementos [1,2] da matriz: {matriz (1,2)}")
Console.WriteLine($"Terceiro elemento do segundo array jagged: {jaggedArray(1)(2)}")
Console.WriteLine("3. propriedade e métodos úteis")
Console.WriteLine("==============================")
Console.WriteLine($"Comprimento do array nu,eros: {numeros.Length}")
Console.WriteLine($"Dimensões da matriz: {matriz.Rank}")
Console.WriteLine($"Tamanho da primeira dimensão da matriz: {matriz.GetLength(0)}")
Console.WriteLine($"Tamanho da segunda dimensão da matriz: {matriz.GetLength(1)}")
Console.WriteLine("4. Redimensionando arrays com ReDim")
Console.WriteLine("===================================")
Console.WriteLine("Array original: " & String.Join(",",numeros))
ReDim Preserve numeros (7)
Console.WriteLine("Array após ReDim Preserve: " & String.Join(",", numeros))
Console.WriteLine("5. Iteração sobre arrays")
Console.WriteLine("========================")
Console.WriteLine("Array unidimensional (For):")
For i As Integer = 0 to numeros.Length -1
Console.WriteLine($"numeros({i})= {numeros(i)}")
Console.WriteLine("Array unidimensional (For Each):")
For Each num As Integer In numeros
Console.WriteLine("Array multidimensional:")
For i As Integer = 0 to matriz.GetLength(0) -1
For j As Integer = 0 to matriz.GetLength(1) -1
Console.WriteLine($"matriz({i}, {j})= {matriz(i,j)}")
Console.WriteLine("Array jagged:")
For i As Integer = 0 To jaggedArray.Length -1
For j As Integer = 0 To jaggedArray(i).Length -1
Console.WriteLine($"jaggedArray({i})({j}) ={jaggedArray(i)(j)}")
Console.WriteLine("6. Métodos Array")
Console.WriteLine("================")
Dim copiaNumeros(numeros.Length -1) As Integer
Array.Copy(numeros, copiaNumeros, numeros.Length)
Console.WriteLine("Cópia do array numeros: " & String.Join(",", copiaNumeros))
Array.Reverse(copiaNumeros)
Console.WriteLine("Array invertido: " & String.Join(", ", copiaNumeros))
Console.WriteLine("Array ordenado: " & String.Join(", ", copiaNumeros))
Dim indice As Integer = Array.IndexOf(copiaNumeros, 5)
Console.WriteLine($"Índice do valor 5: {indice}")
Console.WriteLine("7. Arrays com tipos complexos")
Console.WriteLine("=============================")
Dim pessoas() As Pessoa = {
Console.WriteLine("Pessoas:")
For Each p As Pessoa In pessoas
Console.WriteLine($"{p.Nome}, {p.Idade} anos")
Console.WriteLine ("Pressione qualquer tecla para sair...")
Public Property Nome As String
Public Property Idade As Integer
Public Sub New (nome As String, idade As Integer)