Start Debugging

Tag: csharp-14

26 posts · Página1de3

O que uma expressão `with` do C# realmente copia, e por que as propriedades calculadas de um record não são recalculadas?
Uma expressão with chama o método <Clone>$ gerado pelo compilador para o record, que executa um construtor de cópia que copia todos os campos de instância e ignora todos os inicializadores. É por isso que propriedades inicializadas a partir de outras propriedades, valores em cache e IDs Guid ficam desatualizados. Medido no .NET 10 com C# 14, com as correções que realmente funcionam.
O que é ref-safe-context em C# e como o compilador o decide para ref locals?
ref-safe-context é o escopo em que uma referência a uma variável permanece válida. Aqui estão os quatro contextos, a regra que fixa o contexto de um ref local no seu inicializador, por que a reatribuição de ref nunca pode ampliar nem reduzir esse contexto, e os erros CS8157, CS8168, CS8374 e CS9079 que decorrem disso, com a saída do compilador no C# 14 com .NET 10 e .NET 11 RC1.
Próximo