Fundamentos del lenguaje
29 pasos en 9 series de C#.
C# es lo que resulta cuando un lenguaje se edita con constancia durante veinticinco años. Salió en 2000 como la respuesta de Microsoft a Java y desde entonces publica una revisión mayor casi cada año, cada una recortándole ceremonia a la anterior: los programas de nivel superior se deshicieron del Main de relleno, los records comprimieron una clase de cuarenta líneas en una sola, y switch pasó de ser una tabla de saltos a coincidencia de patrones. El resultado se lee mucho más ligero de lo que su reputación sugiere.
Este tour cubre el núcleo compartido — variables, cadenas, control de flujo, colecciones, métodos, clases — en su forma moderna, y luego las dos cosas que C# tiene sobre sus vecinos: los records con semántica de valor, y LINQ, que convierte bucles sobre datos en oraciones sobre datos. El bis entrega dos programas de línea de comandos completos. Todo lo de aquí compila bajo los valores estrictos por defecto de .NET antes de llegar a ti.
Variables y tipos
- Variables y tiposCómo declara C#: inferido con var, con el tipo escrito, o fijado con const.
- Números y castsAmpliar es automático, estrechar pide un cast, y el dinero usa decimal.
- Tuplas y deconstrucciónAgrupar valores sin una clase, separarlos e intercambiarlos en una línea.
Cadenas
- Interpolación de cadenasLa cadena con $ es la plantilla de C#: expresiones, formatos y alineación en línea.
- Métodos de cadenasEl kit diario de cadenas: recortar, transformar, buscar y cortar.
- Split y JoinDe cadenas a colecciones y de regreso.
- StringBuilderLas cadenas son inmutables: concatenar repetido copia; un builder no.
Control de flujo
- if y elseRamificar: la escalera if/else y el operador condicional.
- Expresiones switchEl switch moderno devuelve un valor y coincide patrones, no solo constantes.
- Buclesfor cuenta, foreach recorre, while corre hasta que algo lo pare.
Colecciones
- ArreglosTamaño fijo, con tipo, y cortables con índices desde el final y rangos.
- ListasLa colección de trabajo redimensionable.
- DiccionariosDe clave a valor en tiempo constante, con una forma segura de pedir lo que quizá falte.
- HashSetUna colección que responde rápido una sola pregunta: ¿ya vi esto antes?
Métodos
- Parámetros de métodosValores por defecto y argumentos con nombre hacen que las llamadas se lean como frases.
- Funciones localesLas funciones pueden vivir dentro del cuerpo que las usa.
- TryParse y outParseo que reporta el fallo en vez de lanzar.
Clases y records
- Clases y propiedadesAutopropiedades e inicializadores de objeto, la forma del C# cotidiano.
- ConstructoresCómo un objeto exige los datos sin los que no puede existir.
- HerenciaUn contrato base, muchos comportamientos, elegidos en tiempo de ejecución.
- RecordsSemántica de valor en una línea: impresión, igualdad y copias con un cambio.
LINQ
- Where y SelectFiltrar y transformar secuencias sin escribir un bucle.
- OrderBy y GroupByOrdenar con desempates y agrupar por claves calculadas.
- AgregacionesColapsar una secuencia a un solo número, de cinco maneras distintas.
Errores y archivos
- try y catchAtrapa la excepción que esperas; deja viajar el resto.
- ArchivosLecturas y escrituras de archivos completos en llamadas únicas.
- using y DisposeLimpieza determinista: el handle del archivo se cierra al terminar el ámbito.
Bis
- word_freq.csEl CLI de conteo de palabras en C#: un archivo en stream, un diccionario de conteos, un top diez.
- grade_report.csUn libro de calificaciones en un archivo: promedios, letras y una tabla resumen.