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.