Recursos do C# 14
O que de fato chegou no C# 14, com código.
Este pilar indexa tudo o que escrevi sobre os recursos da linguagem C# 14: tipos união, construtores e eventos partial, tipos de extensão, e os pequenos ganhos ergonômicos que passam despercebidos nas notas oficiais da versão.
Por onde começar
Comece pelos posts sobre tipos união e membros partial se você está vindo do C# 12 - são as mudanças de comportamento mais significativas. O resto é qualidade de vida.
O que tem nesta página
A lista abaixo coleta automaticamente os posts com qualquer uma das tags: c# 14, csharp 14, c#, csharp, c# language. Mais recentes primeiro.
Índice (8 posts)
2026 / 04
- Como Gerar Código de Cliente Fortemente Tipado a partir de uma Especificação OpenAPI no .NET 11
Use o Kiota, o gerador oficial de OpenAPI da Microsoft, para produzir um cliente C# fluent e fortemente tipado a partir de qualquer especificação OpenAPI. Passo a passo: instalar, gerar, conectar à injeção de dependência do ASP.NET Core e gerenciar autenticação.
- Como ler um CSV grande no .NET 11 sem estourar a memória
Faça streaming de um CSV de vários gigabytes no .NET 11 sem OutOfMemoryException. File.ReadLines, CsvHelper, Sylvan e Pipelines comparados com código e medições.
- Como cancelar uma Task de longa duração em C# sem causar deadlock
Cancelamento cooperativo com CancellationToken, CancelAsync, Task.WaitAsync e tokens ligados no .NET 11. Mais os padrões de bloqueio que transformam um cancelamento limpo em deadlock.
- Como usar IAsyncEnumerable<T> com EF Core 11
As queries do EF Core 11 implementam IAsyncEnumerable<T> diretamente. Veja como fazer streaming de linhas com await foreach, quando preferir a ToListAsync, e as pegadinhas envolvendo conexões, tracking e cancelamento.
- Como usar records com EF Core 11 corretamente
Um guia prático para misturar records do C# e EF Core 11. Onde records se encaixam, onde eles quebram o change tracking, e como modelar value objects, entidades e projeções sem brigar com o framework.
- Como retornar múltiplos valores de um método em C# 14
Sete formas de retornar mais de um valor de um método em C# 14: tuplas nomeadas, parâmetros out, records, structs, desestruturação e o truque de extension member para tipos que não são seus. Benchmarks reais e uma matriz de decisão no final.
- System.Text.Json no .NET 11 Preview 3 adiciona PascalCase e políticas de naming por membro
.NET 11 Preview 3 fecha a história de políticas de naming no System.Text.Json: JsonNamingPolicy.PascalCase, um atributo [JsonNamingPolicy] em nível de membro, e um default [JsonIgnore] em nível de tipo para DTOs mais limpos.
- Operadores de atribuição composta definidos pelo usuário no C# 14: += in-place sem a alocação extra
C# 14 deixa você sobrecarregar +=, -=, *= e companhia como métodos de instância void que mutam o receptor in-place, cortando alocações para holders de valor grandes como buffers estilo BigInteger e tensores.