Article image
Arthur Carneiro
Arthur Carneiro18/04/2025 18:01
Compartilhe

Descomplicando C#: Arrays 📦

    🧠 Descomplicando C#

    Quando comecei a estudar programação, me sentia sobrecarregado tentando absorver uma quantidade imensa de conteúdos. O mais frustrante foi perceber que, na prática, boa parte daquele aprendizado não era diretamente aplicável no mercado. Por isso, criei este repositório para listar apenas o que realmente faz diferença no dia a dia de um desenvolvedor — de maneira objetiva e prática.

    Este repositório é um guia focado em C# para quem deseja aprender de forma direta, utilizando os conceitos e técnicas que realmente importam no trabalho de um programador.

    LINK REPOSITORIO

    📦 O que é um Array?

    De forma simples e direta, um array é uma estrutura de dados que permite armazenar múltiplos valores do mesmo tipo dentro de uma única variável

    🏗️ Sua estrutura

    Um array em C# é composto por três partes principais:

    1. Tipo de dado

    Define qual tipo de valor o array vai armazenar: int, string, double, etc.

     Ex: int[], string[], double[]
    

    2. Nome

    É o identificador do array, ou seja, o nome que você vai usar pra acessar os valores.

    Ex: notas, nomes, idades

    3. Tamanho (ou capacidade)

    Define quantos elementos o array vai comportar. O tamanho é fixo após a criação.

    image

    🔢 Índices

    Índices são as posições de um array onde cada valor é armazenado. Eles começam a contar a partir da posição zero

    [0 , 0 , 0 , 0 ]
     0   1   2   3
    

    Adicionando valores a um array 

    Arrays em C# têm tamanho fixo. Isso significa que, ao criar um array, você define quantos elementos ele vai ter, e esse tamanho não pode ser alterado depois.

    image

    Ex: Um Array que armazena as notas de um aluno

    image

    Aqui, cada valor foi adicionado manualmente em um índice específico.

    🚶‍♂️ Percorrer um Array

    O foreach é uma das maneiras mais práticas e seguras de percorrer um Array.

    foreach(var item in notasAluno){
    
      Console.WriteLine(item)
    
     }
    

    retorno:

    8.5
    7.0
    9.2
    6.8
    

    🛠️ Principais propriedades e métodos de um Array:

    Length

    • Retorna o tamanho total do array (quantos elementos ele possui).
    int[] numeros = { 10, 20, 30 };
    Console.WriteLine(numeros.Length); // Saída: 3
    

    IndexOf()

    • Retorna o índice da primeira ocorrência de um valor.
    int[] numeros = { 5, 10, 15, 10 };
    int posicao = Array.IndexOf(numeros, 10);
    Console.WriteLine(posicao); // Saída: 1
    

    LastIndexOf()

    • Retorna o índice da última ocorrência de um valor.
    int[] numeros = { 5, 10, 15, 10 };
    int posicaoFinal = Array.LastIndexOf(numeros, 10);
    Console.WriteLine(posicaoFinal); // Saída: 3
    

    Sort()

    • Ordena o array em ordem crescente.
    int[] numeros = { 30, 10, 20 };
    Array.Sort(numeros);
    // Resultado: {10, 20, 30}
    

    Find()

    • Retorna o primeiro valor que satisfaz uma condição.
    int[] numeros = { 1, 3, 4, 6 };
    int par = Array.Find(numeros, n => n % 2 == 0);
    Console.WriteLine(par); // Saída: 4
    

    FindAll()

    • Retorna todos os valores que atendem a uma condição.
    int[] numeros = { 1, 2, 3, 4, 5 };
    int[] pares = Array.FindAll(numeros, n => n % 2 == 0);
    // Resultado: {2, 4}
    

    FindIndex()

    • Retorna o índice do primeiro valor que atende a uma condição.
    int[] numeros = { 1, 3, 6, 8 };
    int indice = Array.FindIndex(numeros, n => n % 2 == 0);
    Console.WriteLine(indice); // Saída: 2
    

    Exists()

    • Retorna true se existe pelo menos um valor que atende a uma condição.
    int[] numeros = { 1, 3, 5 };
    bool temPar = Array.Exists(numeros, n => n % 2 == 0);
    Console.WriteLine(temPar); // Saída: False
    

    Copy()

    • Copia os elementos de um array para outro.
    int[] original = { 1, 2, 3 };
    int[] copia = new int[3];
    Array.Copy(original, copia, 3);
    

    Curtiu esse conteúdo? Me segue aqui e confere o repositório completo no GitHub!

    LINK GITHUB

    LINK LINKEDIN

    image

    Compartilhe
    Comentários (0)