C# - Arrays (revisitado)
Hoje vou apresentar uma revisão básica sobre Arrays na linguagem C#. |
Um array armazena uma coleção sequencial de tamanho fixo de elementos do mesmo tipo. É usado para armazenar uma coleção de dados.
Pense em uma array como uma coleção de variáveis do mesmo tipo armazenadas em locais de memória contígua.
Nota: Você pode criar um array com elementos de tipos de dados diferentes declarando o array como sendo do tipo Object.
Ao invéz de declarar variáveis individuais, como valor0, valor1, ... e valor99, você declara uma variável array, como números, e usa valor[0], valor[1] e ..., valor[99] para representar variáveis individuais. Um elemento específico em uma matriz é acessado por um índice que é um número inteiro que inicia no zero.
Todas os arrays consistem em locais de memória contíguos. O endereço mais baixo corresponde ao primeiro elemento e o endereço mais alto ao último elemento :
Para declarar um array usamos a seguinte sintaxe:
TipoDados[] nome_do_Array;
Onde:
Inicializando um Array
Declarar
um array não inicializa o array na memória. Quando a variável do tipo array é
inicializada, você pode atribuir valores ao array.
Um Array é um tipo de referência, então você
precisa usar palavra-chave new para criar
uma instância do array:
int[] numeros = new int[] {10, 20, 30, 40, 50}
Para acessar o primeiro elemento usamos o seu índice: Assim, numeros[0] é igual a 10.
Atribuindo valores a um array
Podemos atribuir valores a um array no nomento da sua declação :
double[] saldo = { 2340.0, 4523.69, 3421.0 };
Podemos também criar e inicializar um array :
int[] notas = new int[5] { 99, 98, 92, 97, 95 };
Na declaração podemos omitir o tamanho do array:
int[] notas = new int[] { 99, 98, 92, 97, 95 };
Podemos também atribuir valores para um elemento individual do array usando o seu índice:
string[] nomes = new string[10];
nomes[0] = "Macoratti";
Quando você cria um array, o compilador C #
inicializa implicitamente cada elemento do array para um valor padrão,
dependendo do tipo de matriz.
Por exemplo, para uma matriz int, todos os elementos são inicializados como 0, para uma matriz de strings todos os elementos são inicializados com null.
Acessando um array
Um elemento é acessado pelo índice do elemento no array. Isso é feito colocando o índice do elemento dentro de colchetes após o nome do array. Por exemplo,
double[] valores = { 3560.50,
4280.90, 5600.00 };
double salario = valores[1];
//obtém o elemento de valor
4280.90
No exemplo acima declaramos e inicializamos o array valores e a seguir obtemos elemento de índice 1(valores[1]) e atribuimos o seu valor à variável salario.
Podemos percorrer os elementos de um array usando um laço for/next ou foreach.
Exemplo : for/next
Definimos o array semana com 7 elementos, onde o primeiro elemento é Segunda (semana[0]) e o último Domingo (semana[6]).
Para acessar usamos um laço for/next onde iniciamos com o valor 0 (pois o índice de um array inicia em zero)
Obtemos o tamanho do array semana.Length que é igual a 7 e subtraimos um, pois iniciamos no valor 0 para acessar o primeiro elemento e vamos até o índice 6 para acessar o último elemento.
Usando um laço foreach não temos que nos preocupar com o tamanho do array:
Exemplo : foreach
O código usando foreach fica mais fácil de ler e é mais limpo.
Arrays com mais de uma dimensão
Existem dois tipos de arrays multidimensionais :
Uma array retangular tem o mesmo tamanho em todas os sub-arrays e separa as dimensões usando uma vírgula.
Exemplos: string[,] nomes; (duas dimensões) string[,,] meses; (três dimensões)
A forma
mais simples de um array multidimensional é o array bidimensional que é uma
lista de arrays unidimensionais.
Um array bidimensional pode ser considerado como uma tabela, que possui um
número x de linhas e um número y de colunas.
Podemos inicializar um array multidimensional especificando os valores entre colchetes para cada linha:
Ou atribuindo o valor para o array indicando o índice da linha e da coluna:
Para acessar os elementos de um array multidimensional usamos laços for/next :
Jagged Arrays(Arrays Irregulares)
Os Jagged Arrays ou arrays irregulars são arrays de arrays e podem ter dimensões irregulares.
As dimensões são alocadas uma de cada vez e os sub-arrays podem ser alocados para tamanhos diferentes.
Exemplos:
string[2][5] membros;
Em um próximo artigo vamos tratar com mais detalhes deste assunto.
"E disse
Jesus: As raposas têm covis, e as aves do céu têm ninhos, mas o Filho do homem
não tem onde reclinar a cabeça."
Mateus 8:20
Veja os
Destaques e novidades do SUPER DVD Visual Basic
: clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
C# - 10 dicas para otimizar o seu código - Aumente o desempenho e eficácia de sua aplicação C#
VB.NET - Arrays - Macoratti
Visual Basic .NET - Implementando um array de controles - Macoratti
Trabalhando com Arrays - Macoratti
C# - Testando cada elemento em um Array ou List<T> - Macoratti