O que é System.Array em C#

O Que E System Array Em C



C# suporta o uso de arrays como uma estrutura de dados, o que nos permite armazenar uma coleção de elementos do mesmo tipo em uma ordem sequencial de tamanho fixo. Todas as propriedades de matriz em C# são derivadas do System.Array class, que serve como classe base para tipos de matriz.

Por ser uma classe base abstrata, não é possível criar uma instância da classe System.Array diretamente. Em vez disso, podemos criar instâncias de uma das classes derivadas de System.Array. Todos os tipos de matriz em C# são baseados em System.Array.

Além de arrays unidimensionais, C# também possui arrays multidimensionais e arrays irregulares. Uma matriz multidimensional tem várias ou mais de uma dimensão. Em uma matriz irregular, cada elemento pode ser uma matriz de tamanhos diferentes. Em palavras simples, um array irregular é um array de arrays.







Para que serve a classe System.Array

A classe System.Array fornece vários métodos e propriedades para manipular matrizes em C#. Esses métodos nos permitem ler e modificar os valores armazenados em uma matriz, obter informações sobre o tamanho e a forma de uma matriz e pesquisar elementos em uma matriz.



Alguns métodos comuns incluem GetValue(), SetValue(), GetLength() e IndexOf(). O System.Array A classe também nos permite classificar, pesquisar e manipular diferentes arrays.



Por exemplo, para obter o comprimento da matriz, o Propriedade de comprimento é usado. O Classificar propriedade pode retornar as dimensões totais presentes em uma matriz. O Propriedade GetLength dá o comprimento de uma dimensão específica em uma matriz multidimensional.





Métodos e propriedades em System.Array C#

Aqui estão alguns métodos e propriedades usados ​​em System.Array C#:

Claro(): Este é um método que está disponível ao público e pode ser acessado de qualquer parte do código. Este método pode definir um determinado intervalo de elementos dentro de uma matriz para referência nula ou zero.



Cópia de(): Este é um método compartilhado público que pode ser sobrecarregado e usado para copiar uma seção específica de elementos de um array para outro array.

ObterComprimento(): Ele retorna um inteiro de 32 bits que mostra o total de elementos em uma determinada dimensão de uma matriz.

GetLongLength(): Este método retorna um inteiro de 64 bits, que nos dá o total de elementos em uma dimensão específica do array.

GetLowerBound(): Este método recupera o limite inferior de uma determinada dimensão da matriz, começando no índice 0.

GetUpperBound(): Este método recupera o limite superior de uma dimensão especificada da matriz, começando no índice 0.

Obter valor(): Este método recupera o valor de um elemento específico na matriz, começando no índice 1.

Índice de(): Este é um método compartilhado público que pode ser sobrecarregado para retornar o índice ou deslocamento da primeira ocorrência de um valor específico em uma matriz unidimensional.

IsFixedSize(): Este método informa se um array tem um tamanho fixo ou não.

IsReadOnly(): O método fornece um valor que significa se uma matriz é somente leitura ou não.

LastIndexOf(): Este é um método compartilhado público que pode ser sobrecarregado. Fornece o índice da última ocorrência de um valor em uma matriz unidimensional.

Comprimento(): Este método fornece o comprimento dos arrays. É propriedade pública e gera um valor inteiro de 32 bits.

Comprimento longo(): Este método informa elementos em todas as dimensões da matriz. Ele retorna um valor inteiro de 64 bits.

Classificação(): Este método retorna o número de dimensões que o array possui.

Redimensionar(): Este método redimensiona uma matriz para o número especificado de elementos.

Reverter(): Este método pode inverter a ordem dos elementos em uma matriz unidimensional.

Organizar(): Este método organiza os elementos em uma matriz unidimensional em ordem crescente ou decrescente, dependendo de seus valores.

Código de exemplo

O código abaixo inicializa um array de inteiros e demonstra vários System.Array métodos que podem ser usados ​​com arrays em C#. A saída de cada método é exibida separadamente no console.

usando o sistema ;
programa de classe
{
estático vazio Principal ( corda [ ] argumentos )
{
// Inicializa um array de inteiros
int [ ] números = { 1 , 2 , 3 , 4 , 5 } ;


// Limpa o conteúdo do array

Variedade. Claro ( números , 0 , números. Comprimento ) ;

Console. WriteLine ( 'Array depois de limpar:' ) ;

para ( int eu = 0 ; eu < números. Comprimento ; eu ++ )

{

Console. Escrever ( números [ eu ] + ' ' ) ;

}

Console. WriteLine ( ) ;

// Copia o conteúdo de outro array para nums

int [ ] numsCopy = { 7 , 8 , 9 } ;

Variedade. cópia de ( numsCopy , números , numsCopiar. Comprimento ) ;

Console. WriteLine ( 'Array depois de copiar:' ) ;

para ( int eu = 0 ; eu < números. Comprimento ; eu ++ )

{

Console. Escrever ( números [ eu ] + ' ' ) ;

}

Console. WriteLine ( ) ;

// Obtém o comprimento e o comprimento longo do array

int comprimento = números. GetLength ( 0 ) ;

longo comprimento longo = números. GetLongLength ( 0 ) ;

Console. WriteLine ( 'Comprimento da matriz: ' + comprimento ) ;

Console. WriteLine ( 'Comprimento longo da matriz: ' + comprimento longo ) ;

// Obtém os limites inferior e superior do array

int limite inferior = números. GetLowerBound ( 0 ) ;

int limite superior = números. GetUpperBound ( 0 ) ;

Console. WriteLine ( 'Limite inferior da matriz: ' + limite inferior ) ;

Console. WriteLine ( 'Limite superior do array: ' + limite superior ) ;

// Obtém o valor em um índice específico no array

int valueAtIndex = ( int ) números. Obter valor ( 1 ) ;

Console. WriteLine ( 'Valor no índice 1: ' + valueAtIndex ) ;

// Encontra o índice de um valor específico no array

int indexOfValue = Variedade. Índice de ( números , 9 ) ;

Console. WriteLine ( 'Índice de valor 9: ' + indexOfValue ) ;

// Verifica se o array é de tamanho fixo e somente leitura

bool isFixedSize = números. IsFixedSize ;

bool isReadOnly = números. IsReadOnly ;

Console. WriteLine ( 'É tamanho fixo?' + isFixedSize ) ;

Console. WriteLine ( 'É somente leitura?' + isReadOnly ) ;

// Encontra o último índice de um valor específico no array

int lastIndexOfValue = Variedade. LastIndexOf ( números , 9 ) ;

Console. WriteLine ( 'Último índice de valor 9: ' + lastIndexOfValue ) ;

// Obtém o comprimento do array

int comprimentonovamente = números. Comprimento ;

Console. WriteLine ( 'Comprimento da matriz novamente: ' + comprimentonovamente ) ;

// Obtém a classificação do array

int classificação = números. Classificação ;

Console. WriteLine ( 'Classificação da matriz: ' + classificação ) ;

// Redimensiona o array

Variedade. Redimensionar ( números de referência , 10 ) ;



// Inverte o conteúdo do array

Variedade. Reverter ( números ) ;

Console. WriteLine ( 'Array depois de inverter:' ) ;

para ( int eu = 0 ; eu < números. Comprimento ; eu ++ )

{

Console. Escrever ( números [ eu ] + ' ' ) ;

}

Console. WriteLine ( ) ;



// Classifica o conteúdo do array

Variedade. Organizar ( números ) ;

Console. WriteLine ( 'Array após a classificação:' ) ;

para ( int eu = 0 ; eu < números. Comprimento ; eu ++ )

{

Console. Escrever ( números [ eu ] + ' ' ) ;

}

}

}

Saída

Conclusão

A classe System.Array em C# fornece uma base para trabalhar com arrays de todos os tipos. Se precisamos criar uma matriz unidimensional simples ou uma matriz multidimensional complexa, a classe System.Array fornece métodos diferentes para manipular e trabalhar com dados de forma eficaz. Para obter uma descrição detalhada de System.Array em C#, leia o artigo.