Fundamentos de C#

Los arreglos en C#

En esta lección vas a crear, leer, modificar, recorrer y ordenar arreglos en C#, incluidos los arreglos de dos dimensiones.

Introducción

Un arreglo (array) guarda un número fijo de valores del mismo tipo. Se accede a cada elemento mediante un índice (index) que empieza en 0. Una vez creado el arreglo, puedes cambiar el valor de cada elemento, pero no su longitud.

La propiedad Length da el número de elementos, y scores[^1] es una forma corta de obtener el último elemento. El bucle foreach recorre todos los elementos para calcular la suma y la media. Array.Sort ordena el arreglo en el sitio. Un arreglo creado con new int[3] ya contiene ceros, y el tipo int[,] crea un arreglo de dos dimensiones al que se accede por fila y columna.

Mira cómo funciona

Haz clic en una casilla o mueve el control para elegir un índice. Inserta o borra para ver por qué todos los elementos siguientes tienen que desplazarse.

Ejemplo de C# ejecutable

C#
Ejecutar 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 de la ejecución
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

Practica con el depurador

Pon un punto de interrupción en una asignación o condición importante, pulsa Debug y revisa los valores locales antes de pasar a la siguiente línea.

Practica con un reto

Usa lo que cubre esta lección para resolver un problema real. Cada reto se ejecuta en el navegador, con pruebas al instante y una revisión de IA.

Todos los retos