Tutorial de array C#: criar, declarar, inicializar
โก Resumo Inteligente
Em C#, os arrays armazenam uma coleรงรฃo de tamanho fixo de elementos que compartilham o mesmo tipo de dados sob um รบnico nome de variรกvel. Cada elemento รฉ indexado a partir de zero, o que torna a declaraรงรฃo, inicializaรงรฃo e acesso a valores rรกpidos e previsรญveis.

O que รฉ um array em C#?
Uma matriz รฉ usada para armazenar uma coleรงรฃo ou sรฉrie de elementos. Esses elementos serรฃo do mesmo tipo.
Por exemplo, se vocรช tivesse uma matriz de valores inteiros, a matriz poderia ser uma coleรงรฃo de valores como [1, 2, 3, 4]. Aqui o nรบmero de elementos na matriz รฉ 4.
Matrizes sรฃo รบteis quando vocรช deseja armazenar uma coleรงรฃo de valores do mesmo tipo. Entรฃo, em vez de declarar um variรกvel para cada elemento, vocรช pode declarar apenas uma variรกvel.
Esta variรกvel apontarรก para um array ou lista de elementos, que serรก responsรกvel por armazenar os elementos do array.
Vejamos como podemos trabalhar com arrays em C#. Em nosso exemplo, declararemos um array de nรบmeros inteiros e trabalharemos com eles de acordo.
Observe que todo o cรณdigo abaixo estรก sendo criado no arquivo Program.cs.
Passo 1) Declarando um array โ O primeiro passo รฉ declarar um array. Vamos ver como podemos conseguir isso com o exemplo de cรณdigo abaixo.
Code Explicaรงรฃo:-
- A primeira parte รฉ a tipo de dados. Ele especifica o tipo de elementos usados โโno array. Portanto, em nosso caso, estamos criando um array de nรบmeros inteiros.
- A segunda parte [ ], que especifica a classificaรงรฃo da matriz. (A classificaรงรฃo รฉ um espaรงo reservado que especifica o nรบmero de elementos que a matriz conterรก)
- O prรณximo รฉ o nome do array que no nosso caso รฉ 'valores'. Observe que vocรช vรช um sublinhado verde ondulado, nรฃo se preocupe com isso. Isso รฉ apenas .Net dizendo que vocรช declarou um array, mas nรฃo o usou em lugar nenhum.
Passo 2) A prรณxima etapa รฉ inicializar o array. Aqui vamos especificar o nรบmero de valores que o array conterรก. Tambรฉm atribuiremos valores a cada elemento do array.
Code Explicaรงรฃo:-
- Primeiro, estamos definindo o nรบmero de elementos que o array conterรก como 3. Portanto, entre colchetes, estamos dizendo que o array conterรก 3 elementos.
- Em seguida, atribuรญmos valores a cada elemento da matriz. Podemos fazer isso especificando o nome da variรกvel + a posiรงรฃo do รญndice na matriz. Assim, `values[0]` significa que estamos armazenando um valor na primeira posiรงรฃo da matriz. Da mesma forma, para acessar a segunda posiรงรฃo, usamos a notaรงรฃo `values[1]` e assim por diante.
Observaรงรฃo: โ Em Arrays, a posiรงรฃo do รญndice comeรงa em 0.
Passo 3) Vamos agora exibir os elementos individuais do array no Console. Vamos adicionar o cรณdigo abaixo para conseguir isso.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] value; value=new Int32[3]; value[0]=1; value[1]=2; value[2]=3; Console.WriteLine(value[0]); Console.WriteLine(value[1]); Console.WriteLine(value[2]); Console.ReadKey(); } } }
Code Explicaรงรฃo:-
Esta รฉ a parte simples em que apenas usamos o mรฉtodo Console.WriteLine para enviar cada valor do elemento para o console.
Observe que, novamente, estamos acessando cada elemento com a ajuda do nome da variรกvel do array junto com a posiรงรฃo do รญndice.
Se o cรณdigo acima for inserido corretamente e o programa for executado, a seguinte saรญda serรก exibida.
Saรญda:
Na saรญda, vocรช pode ver todos os valores da matriz sendo exibidos no Console.
Como percorrer um array em C# usando foreach
Ler cada elemento pelo seu รญndice funciona, mas torna-se tedioso quando um array contรฉm muitos valores. O loop `foreach` oferece uma maneira mais limpa de visitar cada elemento de um array em ordem, sem... tracrei, uma variรกvel de รญndice vocรช mesmo.
A instruรงรฃo `foreach` pega cada item da matriz um de cada vez e o copia para uma variรกvel de loop. Em seguida, vocรช usa essa variรกvel dentro do corpo do loop. Como o loop para automaticamente no รบltimo elemento, o `foreach` elimina o risco de ler alรฉm do final da matriz.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { Int32[] values = new Int32[3] {1, 2, 3}; foreach (Int32 item in values) { Console.WriteLine(item); } Console.ReadKey(); } } }
O exemplo acima declara e inicializa um array de trรชs inteiros e, em seguida, percorre-o com um loop `foreach`. A cada iteraรงรฃo, a variรกvel item recebe o prรณximo valor e Console.WriteLine o imprime. A saรญda sรฃo os nรบmeros 1, 2 e 3 em linhas separadas.
Pontos-chave a lembrar sobre o uso de foreach com arrays:
- A variรกvel de loop รฉ somente leitura, portanto, o mรฉtodo `foreach` รฉ mais adequado para ler valores do que para alterรก-los diretamente.
- Para modificar elementos enquanto olhapingEm vez disso, use um loop for com um รญndice.
- O mรฉtodo `foreach` funciona com arrays unidimensionais, arrays multidimensionais e qualquer coleรงรฃo que suporte iteraรงรฃo.
Matrizes multidimensionais em C#
Os arrays mostrados atรฉ agora sรฃo unidimensionais, ou seja, armazenam uma lista simples de valores. O C# tambรฉm suporta arrays multidimensionais, que organizam os elementos em uma grade de linhas e colunas. Um array bidimensional รฉ a forma mais comum e adequada para dados como matrizes, tabuleiros de jogos e tabelas.
Vocรช declara um array bidimensional colocando uma vรญrgula dentro dos colchetes. Cada vรญrgula extra adiciona uma dimensรฃo, entรฃo `int[,]` รฉ bidimensional e `int[,,]` รฉ tridimensional. Os elementos sรฃo acessados โโcom um รญndice por dimensรฃo.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[,] matrix = new int[2, 2] { {1, 2}, {3, 4} }; Console.WriteLine(matrix[0, 0]); Console.WriteLine(matrix[1, 1]); Console.ReadKey(); } } }
Aqui, a matriz de array contรฉm duas linhas e duas colunas. O elemento `matrix[0, 0]` retorna 1 e `matrix[1, 1]` retorna 4. O nรบmero de dimensรตes รฉ fixo quando o array รฉ declarado, enquanto o tamanho de cada dimensรฃo รฉ definido quando o array รฉ criado.
C# Matrizes Irregulares
Um array irregular รฉ um array cujos elementos sรฃo, eles prรณprios, arrays. Ao contrรกrio de um array multidimensional retangular, cada array interno pode ter um comprimento diferente, razรฃo pela qual um array irregular รฉ frequentemente chamado de array de arrays. Essa flexibilidade รฉ รบtil quando as linhas naturalmente contรชm quantidades diferentes de valores.
Vocรช declara um array irregular com dois conjuntos de colchetes e, em seguida, cria cada array interno separadamente. O exemplo a seguir constrรณi um array irregular onde a primeira linha contรฉm trรชs valores e a segunda linha contรฉm dois.
using System; namespace DemoApplication { class Program { static void Main(string[] args) { int[][] jagged = new int[2][]; jagged[0] = new int[] {1, 2, 3}; jagged[1] = new int[] {4, 5}; Console.WriteLine(jagged[0][2]); Console.WriteLine(jagged[1][1]); Console.ReadKey(); } } }
A expressรฃo jagged[0][2] lรช o terceiro elemento da primeira linha, que รฉ 3, e jagged[1][1] lรช o segundo elemento da segunda linha, que รฉ 5. Como cada linha รฉ um array separado, os arrays irregulares usam a memรณria de forma eficiente quando os comprimentos das linhas variam, embora precisem de uma etapa extra para inicializar cada array interno.




