2026-05-26 dotnet-11comparisonblazor Modos de renderização Blazor no .NET 11: Server, WebAssembly e Auto Escolha Blazor Web App ou WebAssembly autônomo conforme hosting, uso offline e serviços, com o comportamento correto de Auto.
2026-05-26 ef-coredotnet-11sql-server EF Core 11 Preview 4: as colunas de período das tabelas temporais finalmente podem ser propriedades reais O EF Core 11 Preview 4 derruba a antiga restrição de propriedade shadow nas tabelas temporais do SQL Server. PeriodStart e PeriodEnd agora podem ser propriedades CLR comuns, configuradas com lambdas HasPeriodStart e HasPeriodEnd fortemente tipadas.
2026-05-25 comparisoncsharpdotnet List<T> vs Span<T> vs ReadOnlySpan<T> em C#: quando usar cada um Escolha List<T> para coleções expansíveis, Span<T> para visualizações mutáveis e ReadOnlySpan<T> para leitura. Entenda duração e limites de async.
2026-05-25 comparisoncsharpdotnet Parallel.ForEach vs Parallel.ForEachAsync vs Task.WhenAll em C# Use Parallel.ForEach para trabalho intensivo de CPU sobre dados em memória, Parallel.ForEachAsync para E/S assíncrona sobre muitos itens com um limite de concorrência, e Task.WhenAll para um fan-out fixo e pequeno em que você quer todas as operações em andamento e precisa dos resultados.
2026-05-25 dotnet-11comparisoncsharp StringBuilder vs interpolação de strings no .NET 11: qual você deve usar? Use a interpolação de strings para compor de uma vez só um conjunto fixo de valores; use StringBuilder quando você anexa em um laço ou sobre um número desconhecido de fragmentos. A linha divisória é o laço, não a quantidade de valores.
2026-05-24 comparisoncsharpdotnet lock vs Monitor vs SemaphoreSlim vs System.Threading.Lock em C# Quatro formas de proteger uma seção crítica em C#, e uma matriz de decisão para escolher uma. Use System.Threading.Lock para exclusão mútua síncrona no .NET 9+, SemaphoreSlim quando a seção atravessa um await, e Monitor apenas quando você precisa de Wait/Pulse.
2026-05-24 comparisoncsharpdotnet Task.Run vs Task.Factory.StartNew vs ThreadPool.QueueUserWorkItem Três formas de enviar trabalho para o thread pool em C# e qual escolher. Use Task.Run para quase tudo, ThreadPool.QueueUserWorkItem<TState> para fire-and-forget sem alocação, e Task.Factory.StartNew apenas para LongRunning ou um agendador personalizado.
2026-05-23 dotnet-11csharpperformance .NET 11 adiciona compressão Deflate e GZip sem alocações O .NET 11 Preview 4 traz DeflateEncoder, GZipEncoder e ZLibEncoder mais os decodificadores correspondentes, para comprimir direto em um Span<byte> com OperationStatus, sem precisar de um Stream.
2026-05-22 csharpdotnetdotnet-11 C# 16 transforma unsafe em um contrato para quem chama C# 16 redesenha a palavra-chave unsafe para que ela propague uma obrigação a quem chama em vez de abrir silenciosamente um contexto unsafe, e agora os blocos unsafe internos são obrigatórios.
2026-05-21 comparisoncsharpasync ConfigureAwait(false) vs o padrão no .NET 11: ainda importa? ConfigureAwait(false) continua obrigatório em código de biblioteca que pode rodar sob um SynchronizationContext (WinForms, WPF, MAUI). Em código de aplicação no ASP.NET Core, um console app ou um worker service rodando em .NET 11, ele não faz nada.