Características de C# 14
Lo que realmente llegó en C# 14, con código.
Este pilar indexa todo lo que he escrito sobre las características del lenguaje C# 14: tipos unión, constructores y eventos partial, tipos de extensión, y las pequeñas mejoras ergonómicas que son fáciles de pasar por alto en las notas oficiales de la versión.
Qué leer primero
Empieza con los posts sobre tipos unión y miembros partial si vienes de C# 12 - son los cambios de comportamiento más grandes. Todo lo demás es calidad de vida.
Qué hay en esta página
La lista de abajo recopila automáticamente los posts etiquetados con alguno de: c# 14, csharp 14, c#, csharp, c# language. Los más recientes primero.
Índice (8 posts)
2026 / 04
- Cómo generar código cliente fuertemente tipado desde una especificación OpenAPI en .NET 11
Usa Kiota, el generador oficial de OpenAPI de Microsoft, para producir un cliente C# fluent y fuertemente tipado desde cualquier especificación OpenAPI. Paso a paso: instalar, generar, conectar a la inyección de dependencias de ASP.NET Core y gestionar la autenticación.
- Cómo leer un CSV grande en .NET 11 sin quedarte sin memoria
Haz streaming de un CSV de varios gigabytes en .NET 11 sin OutOfMemoryException. File.ReadLines, CsvHelper, Sylvan y Pipelines comparados con código y mediciones.
- Cómo cancelar una Task de larga duración en C# sin interbloquear
Cancelación cooperativa con CancellationToken, CancelAsync, Task.WaitAsync y tokens enlazados en .NET 11. Más los patrones de bloqueo que convierten una cancelación limpia en un interbloqueo.
- Cómo usar IAsyncEnumerable<T> con EF Core 11
Las consultas de EF Core 11 implementan IAsyncEnumerable<T> directamente. Aquí está cómo hacer streaming de filas con await foreach, cuándo preferirlo sobre ToListAsync, y las trampas alrededor de conexiones, tracking y cancelación.
- Cómo usar records con EF Core 11 correctamente
Una guía práctica para mezclar records de C# y EF Core 11. Dónde encajan los records, dónde rompen el change tracking, y cómo modelar value objects, entidades y proyecciones sin pelearte con el framework.
- Cómo devolver múltiples valores desde un método en C# 14
Siete formas de devolver más de un valor desde un método en C# 14: tuplas con nombre, parámetros out, records, structs, desestructuración y el truco de los extension members para tipos que no te pertenecen. Benchmarks reales y una matriz de decisión al final.
- System.Text.Json en .NET 11 Preview 3 añade PascalCase y políticas de naming por miembro
.NET 11 Preview 3 termina la historia de políticas de naming en System.Text.Json: JsonNamingPolicy.PascalCase, un atributo [JsonNamingPolicy] a nivel de miembro, y un [JsonIgnore] por defecto a nivel de tipo para DTOs más limpios.
- Operadores de asignación compuesta definidos por el usuario en C# 14: += in-place sin la asignación extra
C# 14 te deja sobrecargar +=, -=, *= y compañía como métodos de instancia void que mutan al receptor in-place, recortando asignaciones para holders de valores grandes como buffers tipo BigInteger y tensores.