1. INTRODUÇÃO
Durante o desenvolvimento de um sistema, nos
deparamos em alguns momentos com a necessidade de armazenar na memória do
computador cadeias de valores para o processamento dos dados.
Um exemplo dessa necessidade seria: O calculo de
tributação de notas fiscais, onde precisamos freqüentemente acessar no banco de
dados os valores de tributação para calculo de ICMS de determinado estado (UF
Unidade Federativa). Para executar essa operação poderíamos armazenar o valor
da tributação de todos os estados na memória do computador evitando acesso
excessivo ao banco de dados diminuindo o trafego da rede. Claro que para fazer
este armazenamento não precisamos criar uma variável para cada UF e sim somente
criar uma array.
2. O QUE É UM ARRAY
Uma array
ou matriz nada mais é do que uma lista de elementos (valores) que são
armazenados na memória do computador (uso run
time). Por serem armazenados na memória do computador possuem um bom
desempenho no seu uso.
Segundo o Wikipedia, uma matriz é uma tabela de m
x n símbolos sobre um corpo F, representada sob a forma de um quadro com m
linhas e n colunas e utilizado, entre outras coisas, para a resolução de
sistemas de equações lineares e transformações lineares.
Para fazer o acesso de um elemento de um array usa-se uma notação bem similar ao
da matemática, onde é escrito o nome da matriz seguido do índice numérico ao
qual valor pertence.
Ex.: Nome da Array
[Índice Númerico]
Obs.: vale lembrar que em C#.Net uma array é indexada sempre a partir de zero
3. DECLARANDO UMA ARRAY
A declaração de uma array é feita de forma similar a de um objeto qualquer em C#.Net.
Ex.: Type[] NomeVariavel = new Type[N] {Elemento1
.. ElementoN}
Type é
o tipo da array (Não se esqueça dos colchetes, isso que caracteriza o tipo como
sendo uma array).
No exemplo observe que a array será instanciada no momento de sua declaração, não precisa ser feito dessa forma, mas a array deve ser instanciada antes de ser usada como toda variável, evitando erro de acesso a memória.
No exemplo observe que a array será instanciada no momento de sua declaração, não precisa ser feito dessa forma, mas a array deve ser instanciada antes de ser usada como toda variável, evitando erro de acesso a memória.
N é o
tamanho da array. O índice de uma array começa em zero.
Exemplo:
Obs.: Uma variável é tipada quando seu valor possui uma característica bem definida. Ou seja, quando uma variável declarada como Integer somente irá receber valores numéricos inteiros e não poderá receber um Float que seriam valores numéricos reais.
A maior vantagem de uma variável tipada é a prevenção de erros de compilação, visto que esta variável não poderá receber valores inválidos.
A maior vantagem de uma variável tipada é a prevenção de erros de compilação, visto que esta variável não poderá receber valores inválidos.
4. PRINCIPAIS PROPRIEDADES DE UMA ARRAY
Para acessar uma propriedade de uma array é preciso escrever o nome da array seguido do nome de sua
propriedade.
Length : Obtém o número de elementos em todas as
dimensões da array.
IsFixedSize : Quando True indica que o array
terá um nome fixo.
IsReadOnly : Quando True indica que a array não
poderá ter seu valor modificado.
IsSynchronized : Quando True indica se o acesso ao array
é sincronizado.
Rank : Obtém o número de dimensões de uma array.
SyncRoot : Obtém um objeto que pode ser usado para
sincronizar o acesso à array.
5. PRINCIPAIS MÉTODOS DE UMA ARRAY
Os métodos usados são de declaração estática em sua maioria “shared”, isso indica que sua utilização
deve ser feita a partir da declaração da classe e não da instancia do objeto. A
seguir segue-se os métodos e suas utilizações.
1.1. Clear
Limpa o conteúdo de uma array atribuindo o valor null para todos os elementos informados no parametro.
Possui três parâmetros: 1) Array (Variável do tipo básico array que se pretende limpar); 2) Index (Valor do tipo inteiro que informa
o índice inicial para se executar a limpeza) e 3) Length (Quantidade de elementos do array que serão zerados a partir do index)
Exemplo:
Observe que o array
é criado contendo cinco elementos
devidamente preenchidos. Na linha de baixo (linha 15) é executado o clear iniciando do elemento de índice
dois como na instrução do segundo parâmetro e terminando no índice três
limpando somente dois elementos como o solicitado no terceiro parâmetro.
1.2. Clone
Cria uma cópia do array não mantendo a referência ao objeto copiado.
Exemplo:
Na linha 13 é instanciada a primeira array e na linha seguinte é feita a
declaração da array que receberá a
cópia daquela que foi instanciada. Observe que uma vez que o comando clone foi executado todos os valores são
copiados para a segunda variável declarada.
Na linha 16 é executado um clear na array instanciada na linha 13 o que comprova a inexistência de uma referencia ao objeto.
Na linha 16 é executado um clear na array instanciada na linha 13 o que comprova a inexistência de uma referencia ao objeto.
Obs.:Objetos
por referência são aqueles que apesar de possuírem declarações distintas, ou
seja nomes de variáveis diferentes, indicam uma mesma posição de memória. Normalmente isso acontece quando se usa passar parâmetros por referência em métodos ou se atribui uma variável diretamente a outra.
1.3. Copy
Executa a cópia dos elementos de uma array para outra. Neste método é feita a
cópia somente dos elementos.
Exemplo:
Primeira observação a
ser feita neste exemplo é: a array
de destino dos valores deve ser instanciada e dimensionada antes de ser usada
no método.
Os quatro parâmetros são: 1) sourceArray (array onde
estão os valores que se deseja copiar); 2) sourceIndex (índice inicial de onde serão retirados os valores);
3) destinationArray (array para onde os dados dos elementos
serão copiados); 4) destinationIndex
(índice inicial para onde os elementos serão copiados) e quinto Length (quantidade de elementos que
serão copiados a partir do índice indicado no segundo parâmetro).
O parâmetro length não pode ser maior que a
quantidade de elementos disponíveis na primeira e na segunda array menos o índice inicial.
1.4. CopyTo
Copia todos os elementos de uma array unidimensional para outro array. Funciona de forma similar ao
tópico anterior.
1.5. CreateInstance
Função que retorna uma instancia de uma array com o tipo definido no parâmetro.
Observe que esta função é uma maneira diferente de se instanciar uma array, outra maneira é usando new Type[Length] {} como o apresentado
nos tópicos anteriores.
1.6. Equals
Determina se duas instancias de objeto são iguais.
Para que o resultado seja true não basta que o valor dos índices sejam iguais e sim que a
instancia seja a mesma.
1.7. GetLength
Retorna o número de elementos de uma dimensão
especificada no segundo parâmetro.
1.8. GetLowerBound e GetUpperBound
Obtém o menor e maior índice de uma dimensão
especificada. GetUpperBound equivale a função UBound do VB.Net.
1.9. GetValue e SetValue
GetValue (Indice) obtém o valor alocado no índice especificado
no parâmetro.
SetValue (Valor, Indice) envia um valor qualquer ao índice
especificado.
1.10. IndexOf
Retorna o índice da primeira ocorrência de um valor
em uma array.
0 comentários:
Postar um comentário
É um prazer o Mundo Conecto possuir um leitor assim como você, participativo e que não aceita ser meramente um figurante na vida e acaba exigindo seu lugar como protagonista.