Conviene haber comprendido POO, composición y objetos válidos.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar Arrays y listas con Diccionarios y resolver un caso nuevo.
Reserva entre 35 y 55 minutos para lectura, ejemplos, tres comprobaciones y cierre.
Instala Unity Hub, una versión LTS compatible y un IDE con integración para C#. Conserva un proyecto de laboratorio separado.
Abrir la guía de herramientas →Diagnóstico rápido: ¿cómo se relacionan Arrays y listas y Diccionarios? +
No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.
Aprende el tema paso a paso
Elegirás cada colección por la operación dominante del sistema y aprenderás a proteger accesos, vacíos y modificaciones durante recorridos.
- Array fija el tamaño y List crece durante la ejecución
- Dictionary conecta identificadores únicos con valores
- Stack y Queue hacen visible qué elemento sigue
Array fija el tamaño y List crece durante la ejecución
Un array es adecuado para puntos conocidos; List<T> para inventarios u objetivos dinámicos. Ambas conservan orden e índices. Insertar o borrar en medio de una lista desplaza elementos y puede ser costoso.
Comprueba Length o Count antes de acceder.
Evita modificar la colección dentro de foreach.
No uses una lista cuando la pregunta principal es buscar por identificador.
¿Cuándo elegirías un array aunque List parezca más flexible?
Mostrar respuesta +
Cuando el número de elementos es estable, se configura como conjunto fijo y la flexibilidad de agregar o quitar no representa una necesidad real.
Dictionary conecta identificadores únicos con valores
Dictionary<TKey,TValue> evita recorrer toda una lista cuando consultas por clave. TryGetValue expresa que la ausencia es posible. Agregar una clave duplicada y asumir que existe son fallos diferentes.
Define qué hace única y estable a la clave.
Usa TryGetValue para ausencias esperables.
No dependas del orden de recorrido como significado del sistema.
¿Por qué una posición de lista suele ser una mala identidad persistente?
Mostrar respuesta +
Porque insertar, ordenar o eliminar cambia las posiciones. Un identificador estable mantiene su significado entre versiones y sesiones.
Stack y Queue hacen visible qué elemento sigue
Stack<T> implementa LIFO y sirve para deshacer o navegación anidada. Queue<T> implementa FIFO y representa turnos o solicitudes. Peek observa y Pop o Dequeue retiran; las operaciones requieren comprobar que haya elementos.
Stack: último en entrar, primero en salir.
Queue: primero en entrar, primero en salir.
Elige por semántica, no por familiaridad.
¿Qué error conceptual habría al usar Stack para una fila de jugadores?
Mostrar respuesta +
El último jugador agregado actuaría primero, contradiciendo una fila justa de llegada. La estructura impondría LIFO en vez de FIFO.
Tu recorrido en tres ideas
- Array fija el tamaño y List crece durante la ejecución
- Dictionary conecta identificadores únicos con valores
- Stack y Queue hacen visible qué elemento sigue
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Usar List para toda necesidad aunque la operación principal sea buscar por clave o procesar una cola.
Acceder a posiciones o retirar elementos sin comprobar el estado de la colección.
Ahora hazlo sin guía
Modela puntos de spawn, inventario, catálogo por ID, historial de deshacer y cola de turnos con la colección apropiada.
Mostrar pauta de corrección +
- Justifica cada estructura por orden y operación dominante.
- Maneja ausencias, vacíos, duplicados y límites.
- No depende accidentalmente del orden de Dictionary.
