Curso C# Básico - 13 - Vetores Ou Arrays e Matrizes
Curso C# Básico - 13 - Vetores Ou Arrays e Matrizes
Vetores ou arrays são estruturas de dados capazes de armazenar múltiplos valores. Cada valor
pode ser localizado por uma “chave”; no caso dos arrays, seria o índice correspondente à sua
posição.
Para armazenar uma sequência de 10 números, até o momento foi conhecida apenas uma
maneira:
Mas, dessa forma, o código não ficará muito legível... Então, a melhor solução seria assim:
Pronto, este é um array em C#! Existem outras formas de inicializar um array quando a
declaração é feita:
ou...
ou...
Como você pode notar, quando se declara um array é necessário utilizar os colchetes []. Por
exemplo:
Sendo que se pode, no momento da declaração, informar o número de elementos:
Note que é necessário utilizar o new. Se ele não fosse utilizado, ocorreria um erro de
compilação, pois nosso vetor ou array estaria declarado de maneira errada.
Com a declaração acima, você tem um array chamado arrInt do tipo int e que pode armazenar
até 10 elementos do tipo int.
Para se acessar os elementos dentro de nosso array, você deve utilizar o índice
correspondente à cada posição. O primeiro elemento dentro de um array é identificado pelo
índice 0, o segundo pelo índice 1, e assim sucessivamente. Repare no código abaixo.
Repare que, para fazermos a atribuição de um valor para uma posição do array de inteiros, nós
precisamos especificar o índice entre colchetes e utilizar o sinal de atribuição como se
fossemos fazer a atribuição à uma variável “normal”. Na hora de pegar o conteúdo presente,
também devemos especificar o índice da posição da qual precisamos recuperar o valor.
Também podemos utilizar como se fosse uma variável inteira “convencional”.
Não se esqueça: as posições dos vetores em C# (e na maioria das linguagens) começa com a
posição 0. No exemplo do arrInt, temos um vetor de 10 posições, onde a primeira posição é a
posição 0 (não a posição 1) e a última é a posição 9 (não a posição 10).
No C#, arrays são objetos e não apenas regiões endereçáveis de memória contígua como em C
e C++. Isso nos permite utilizar as propriedades, e outros membros da classe Array. Um
exemplo disso é a propriedade Length para obter o comprimento de uma matriz:
A classe System.Array fornece vários outros métodos e propriedades, como:
Reverse: É um método estático cujo objetivo é inverter a ordem dos elementos do array. Essa
inversão pode ser completa ou parcial, indicando o índice inicial e final para a inversão do
array. Exemplo:
IndexOf: Retorna a posição de um elemento no array, se não for encontrado é retornado -1.
Exemplo:
Matrizes multidimensionais
Matrizes podem ter mais de uma dimensão. Por exemplo, a declaração a seguir cria uma
matriz bidimensional de quatro linhas e duas colunas:
Uma matriz é um “vetor de vetores”. Ou seja, é como se fosse um vetor que possui vários
vetores dentro. Um bom exemplo de matriz é uma planilha Excel.
Repare em uma planilha Excel: cada linha é como se fosse um vetor. A planilha em si também
pode ser considerada um vetor: um vetor que contém vários outros vetores internamente
(que é cada linha da planilha).
Matrizes, assim como vetores, também tem seus elementos localizados pela especificação dos
índices do elemento.
Nesse caso, criamos uma matriz quadrada, que possui duas linhas e duas colunas. É como se
ela possuísse dois vetores de duas posições “um embaixo do outro”.
O processo para acessar as posições e atribuir valores a elas é bem similar ao processo para
vetores. Observe o código:
Não se esqueça: assim como nos vetores, os índices de linha e coluna de uma matriz também
começam em zero!
A seguir, há uma declaração de uma matriz dimensional única que tenha três elementos, cada
um deles é uma matriz dimensional única (outro nome para vetores) de inteiros:
Antes de usar mi, seus elementos devem ser inicializados. É possível inicializar os elementos
desta forma:
Cada um dos elementos é uma matriz dimensional única de inteiros. O primeiro elemento é
uma matriz de 2 inteiros, o segundo é uma matriz de 4 inteiros, e o terceiro é uma matriz de 6
inteiros.
Também é possível usar inicializadores para preencher os elementos da matriz com valores,
caso em que não precisa informar o tamanho de matriz. Por exemplo:
Uma matriz irregular é uma matriz de vetores e, portanto, seus elementos são tipos de
referência e são inicializados para null.
Retornará um valor de 3.
Retornará um valor de 2.
Vídeo Aula 1
Vídeo Aula 2