Fundamentos de C#

Arrays em C#

Nesta lição, você vai criar, ler, alterar, percorrer e ordenar arrays em C#, incluindo arrays bidimensionais.

Introdução

Um array guarda uma quantidade fixa de valores do mesmo tipo. Cada elemento é acessado por um índice (index) que começa em 0. Depois de criado, você pode alterar o valor de cada elemento, mas não pode mudar o tamanho do array.

A propriedade Length informa o número de elementos, e scores[^1] é uma forma curta de pegar o último elemento. O laço foreach percorre todos os elementos para calcular a soma e a média. Array.Sort ordena o array no próprio lugar. Um array criado com new int[3] já vem com os valores 0, e o tipo int[,] cria um array bidimensional acessado por linha e coluna.

Veja como funciona

Clique numa caixa ou mova o controle para escolher um índice. Insira ou apague para ver por que todos os elementos seguintes precisam se deslocar.

Exemplo de C# executável

C#
Rodar código →
Program.cs
using System;
using System.Linq;

class Program
{
    static void Main()
    {
        // An array has a fixed length set when it is created.
        int[] scores = { 72, 95, 88, 64 };
        Console.WriteLine($"Length: {scores.Length}");
        Console.WriteLine($"First: {scores[0]}, last: {scores[^1]}");

        scores[3] = 70;  // elements can be changed, the length cannot

        int sum = 0;
        foreach (int score in scores)
        {
            sum += score;
        }
        Console.WriteLine($"Sum: {sum}, average: {sum / (double)scores.Length}");

        // Array.Sort sorts in place; string.Join prints the elements.
        Array.Sort(scores);
        Console.WriteLine($"Sorted: {string.Join(", ", scores)}");
        Console.WriteLine($"Max: {scores.Max()}");

        // new int[3] creates an array of zeros.
        int[] counts = new int[3];
        counts[1] = 5;
        Console.WriteLine($"Counts: {string.Join(" ", counts)}");

        // A 2D array is indexed by row and column.
        int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
        Console.WriteLine($"grid[1, 2] = {grid[1, 2]}");
    }
}
Resultado da execução
Length: 4
First: 72, last: 64
Sum: 325, average: 81.25
Sorted: 70, 72, 88, 95
Max: 95
Counts: 0 5 0
grid[1, 2] = 6

Pratique com o depurador

Coloque um breakpoint em uma atribuição ou condição importante, clique em Debug e veja os valores das variáveis locais antes de passar para a próxima linha.

Pratique com um desafio

Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.

Todos os desafios