Start Debugging

Etiqueta: csharp-14

26 posts · Página1de3

¿Qué copia realmente una expresión `with` de C# y por qué las propiedades calculadas de un record no se recalculan?
Una expresión with llama al método <Clone>$ que el compilador genera en el record, el cual ejecuta un constructor de copia que copia todos los campos de instancia y omite todos los inicializadores. Por eso las propiedades inicializadas a partir de otras propiedades, los valores en caché y los ID Guid quedan desactualizados. Medido en .NET 10 con C# 14, con las soluciones que sí funcionan.
Qué es ref-safe-context en C# y cómo lo decide el compilador para los ref locals
ref-safe-context es el ámbito en el que una referencia a una variable sigue siendo válida. Aquí están los cuatro contextos, la regla que fija el contexto de un ref local en su inicializador, por qué la reasignación de ref nunca puede ampliarlo ni reducirlo, y los errores CS8157, CS8168, CS8374 y CS9079 que se derivan de ello, con la salida del compilador de C# 14 en .NET 10 y .NET 11 RC1.
Siguiente