Array

📦 Arrays (T[])

Las taquillas fijas. Un bloque de tamaño estricto donde cada hueco tiene su número asignado y no se puede mover ni ampliar fácilmente.

⚙️ Estructura

Los Arrays en C# son una estructura de datos que almacena una colección de elementos del mismo tipo en un bloque de memoria de tamaño estricto. Cada elemento en un Array tiene un índice numérico y no se puede cambiar su tamaño fácilmente una vez que se ha creado.

📝 Ventajas

  • Acceso rápido: Los arrays en C# permiten acceder a los elementos de manera rápida mediante su índice.
  • Estructura fija: Los arrays tienen una estructura fija, lo que significa que su tamaño es conocido y no cambia.
  • Almacenamiento eficiente: Los arrays almacenan los elementos de manera eficiente, ya que solo se reserva memoria para los elementos necesarios.
  • Fácil de usar: Los arrays son fáciles de usar y no requieren mucha lógica compleja.
  • Soportan operaciones de colección: Los arrays soportan operaciones de colección, como la búsqueda, eliminación y modificación de elementos.

🚧 Desventajas

  • Tamaño fijo: Los arrays tienen un tamaño fijo, lo que significa que no se pueden agregar o eliminar elementos después de que se ha creado.
  • No se pueden reutilizar: Los arrays no se pueden reutilizar una vez que se han asignado valores a sus elementos.
  • No soportan cambios dinámicos: Los arrays no soportan cambios dinámicos, lo que significa que no se pueden agregar o eliminar elementos después de que se ha creado.
  • Requieren conocimiento previo de tamaño: Los arrays requieren conocimiento previo del tamaño de los datos que se van a almacenar, lo que puede ser un problema en algunos casos.
  • No soportan operaciones de colección complejas: Los arrays no soportan operaciones de colección complejas, como la búsqueda y eliminación de elementos en una secuencia de elementos.
Estructura de datos - Array. Generada con IA
Estructura de datos – Array. Generada con IA

🖥️ Código fuente – CRUD (ejemplo)

Creación

public class Jugador
{
    public string Nombre { get; set; }
    public int Puntos { get; set; }
}

public class Juego
{
    private Jugador[] jugadores;

    public Juego(int tamañoInicial)
    {
        jugadores = new Jugador[tamañoInicial];
    }
}

Lectura

public Jugador ObtenerJugador(int indice)
{
            return jugadores[indice];
}

Modificación

public void ActualizarJugador(int indice, string nombre, int puntos)
{
    if (indice >= 0 && indice < jugadores.Length)
    {
        jugadores[indice].Nombre = nombre;
        jugadores[indice].Puntos = puntos;
    }
}

Eliminación

public void EliminarJugador(int indice)
{
    if (indice >= 0 && indice < jugadores.Length)
    {
        for (int i = indice; i < jugadores.Length - 1; i++)
        {
            jugadores[i] = jugadores[i + 1];
        }
        jugadores[jugadores.Length - 1] = null;
         siguientePosicion--;
    }
}