Arrays em C#(CSharp)

Autor : Antonio Carlos Ferreira de Azevedo
Postado em : 21/09/2023


Arrays em C#: Armazenando e Acessando Dados de Forma Eficiente

Arrays são estruturas de dados fundamentais em C# que permitem armazenar e acessar coleções de elementos do mesmo tipo de maneira eficiente. Neste guia, exploraremos o uso de arrays em C# e como eles podem ser úteis em seu código.

O que é um Array?

Em C#, um array é uma coleção de elementos do mesmo tipo que é usada para armazenar e acessar dados de forma organizada. Cada elemento em um array é acessado por um índice numérico, e os arrays têm um tamanho fixo quando são criados.

Declarando um Array

Para declarar um array em C#, você especifica o tipo dos elementos do array, seguido pelo nome do array e os colchetes []. Por exemplo:

int[] numeros; // Declara um array de inteiros chamado "numeros"

Criando um Array

Depois de declarar um array, você precisa criar uma instância dele usando o operador new. Isso aloca memória para o array e define seu tamanho. Por exemplo:

numeros = new int[5]; // Cria um array de inteiros com tamanho 5

Inicializando um Array

Você pode inicializar um array ao mesmo tempo que o declara, especificando os elementos entre chaves {}. Por exemplo:

int[] numeros = { 1, 2, 3, 4, 5 }; // Inicializa um array de inteiros com valores

Acessando Elementos

Os elementos de um array são acessados por meio de seu índice, que começa em 0 para o primeiro elemento. Por exemplo:

int primeiroNumero = numeros[0]; // Acessa o primeiro elemento

Obtendo o Comprimento do Array

Você pode obter o comprimento de um array usando a propriedade Length. Por exemplo:

int tamanho = numeros.Length; // Obtém o comprimento do array

Iterando em um Array

Um loop for é frequentemente usado para iterar através dos elementos de um array. Por exemplo:

for (int i = 0; i < numeros.Length; i++)
{
    Console.WriteLine(numeros[i]);
}

Arrays Multidimensionais

Além de arrays unidimensionais, C# suporta arrays multidimensionais (matrizes). Por exemplo, uma matriz bidimensional pode ser declarada e usada da seguinte forma:

int[,] matriz = new int[3, 3]; // Declara e cria uma matriz bidimensional de inteiros 3x3
matriz[0, 0] = 1; // Atribui um valor à posição [0,0]


Novas implementações a partir do C#8

System.index

O C# não tem como indexar uma coleção a partir do final, mas sim a maioria dos indexadores usam a noção "de início" ou uma expressão de "comprimento i". Apresentamos uma nova expressão de índice que significa "do final". O recurso apresentará um novo operador unário "Hat". Seu único operando deve ser conversível para System.Int32 . Ele será reduzido na chamada de método de System.Index fábrica apropriada.
Utilizaremos o Índice do operador end

System.Index operator ^(int fromEnd);

O comportamento desse operador é definido apenas para valores de entrada maiores ou iguais a zero.
Exemplos:

var numeros = new int[] { 1, 2, 3, 4, 5 };
var terceiro_Item= array[2];          // 2
var ultimo_Item = array[^1];          // 5
var penultimo_Item = array[^2];       // 4 e assim por diante 

System.Range

para isto chamamos o .. operador do Operador Range. O operador de intervalo interno pode aproximadamente ser compreendido para corresponder à invocação de um operador interno deste formulário

System.Range operator ..(Index start = 0, Index end = ^0);

Exemplos:

var numeros = new int[] { 1, 2, 3, 4, 5 };
var parte1 = numeros [2..^3];    // Novo array [3]
var parte2 = numeros [..^3];     // Novo array [1,2,3]
var parte3 = numeros [2..];      // Novo array [3,4,5]
var parte4 = numeros [..];       // Novo array [1,2,3,4,5]

Conclusão

Os arrays são uma estrutura de dados fundamental em C# e são amplamente usados para armazenar e manipular coleções de dados. Eles oferecem uma maneira eficiente de acessar elementos por índice, tornando-os uma escolha comum para muitos cenários de programação.

Espero que este guia tenha sido útil para você aprender sobre arrays em C#. Eles desempenham um papel importante em muitos programas e são essenciais para o desenvolvimento eficaz em C#.



Links Relacionados



Comentários