¿Ya dominas lo básico? Un curso estructurado de C# es la vía rápida para dar el salto.
Ver cursos de C# en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (Console.WriteLine)
- 03Trabajar con variables
- 04Condicionales (la sentencia if)
- 05Repetir (la sentencia for)
- 06Escribir un método
- 07Trabajar con arrays
- 08Repetir (la sentencia while)
- 09Clases (programación orientada a objetos)
- 10Manejo de errores (try-catch)
- 11Ordenar un array
- 12Funciones recursivas
- 13Usar la biblioteca estándar
- 14La sentencia switch
- 15El operador ternario
- 16Herencia (extender una clase)
- 17Escribir comentarios
- 18Operadores lógicos (&&, ||, !)
- 19Constantes (const)
- 20Dividir y unir cadenas (Split, Join)
- 21Escribir código seguro frente a null (el operador ??)
- 22Buscar en un array (recorrerlo en un bucle)
- 23Transformar un array (LINQ Select)
- 24Arrays de dos dimensiones (datos en tabla)
- 25Escribir una clase de excepción propia
- 26Valores por defecto en los parámetros
- 27Trabajar con HashSet (conjuntos)
- 28Comprobar la corrección (tu primer paso hacia las pruebas)
- 29Funciones de orden superior (pasar una función como argumento)
- 30Pilas y colas (estructuras de datos básicas)
- 31Conversión de tipos (casting), lo básico
- 32Introducción a las expresiones regulares
- 33El algoritmo de búsqueda binaria
- 34Construir un cifrado César (desplazamiento de caracteres)
- 35Entender cómo funciona la ordenación de burbuja
- 36Construir y mostrar fechas
- 37Escribir varios casos de prueba juntos
- 38Acelerar cálculos con memoización (caché)
- 39Normalizar cadenas (Trim, unificar mayúsculas)
- 40Copia superficial y copia profunda
- 41Tipos enumerados (enum), lo básico
- 42Aplanar un array
- 43Invertir una cadena y comprobar si es palíndromo
- 44Emparejar dos arrays (la operación zip)
- 45Redondear números (Floor, Ceiling, Round)
- 46Cadenas de varias líneas (cadenas literales)
- 47Métodos que devuelven varios valores (tuplas)
- 48Calcular el MCD y el MCM (algoritmo de Euclides)
- 49Dar formato a números (rellenar dígitos, decimales)
- 50Limpieza con try/catch/finally
- 51Escribir métodos genéricos
- 52Leer y escribir archivos, lo básico
- 53Generar números aleatorios
- 54Operadores a nivel de bit (AND, OR, XOR, desplazamientos)
- 55Leer argumentos de la línea de órdenes
- 56Esperar un tiempo fijo (Thread.Sleep)
- 57Cuidado con los errores de redondeo en coma flotante
- 58Leer de la entrada estándar
- 59FizzBuzz (el ejercicio clásico)
- 60Comprobar si un número es primo
- 61Operaciones de conjunto con HashSet (unión, intersección, diferencia)
- 62Convertir entre bases (binario, hexadecimal)
- 63Comprobar paréntesis equilibrados (aplicación de pilas)
- 64Comprobar si dos palabras son anagramas
- 65Comprobar si un año es bisiesto
- 66Convertir temperaturas (Celsius a Fahrenheit)
- 67Descomposición en factores primos
- 68[Aplicado] Construye una herramienta de inventario
Emparejar dos arrays (la operación zip)
En esta lección combinarás dos listas emparejando sus elementos por posición.
C# lo trae hecho: a.Zip(b, (x, y) => ...) recorre las dos a la vez y combina cada pareja. También se puede hacer con un bucle y un índice.
El código de ejemplo empareja nombres con puntuaciones.
Un detalle muy conveniente de Zip: se detiene en la más corta, así que no hay forma de salirse del índice. Hacerlo a mano con un bucle exige acordarse de recorrer hasta Math.Min() de las dos longitudes.
Cuando dos listas paralelas representan lo mismo, suele ser mejor una única lista de objetos o de record. Así es imposible que se descoordinen, que es exactamente lo que acaba pasando con listas paralelas en cuanto el programa crece.
🧪 Este sitio no puede compilar ni ejecutar C# directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
🔗 El mismo tema en otros lenguajes
Mira cómo se escribe lo mismo en otro lenguaje.
