Microsoft ha revelado recientemente nuevas mejoras del lenguaje C# 12 como parte de las últimas versiones preliminares de .NET 8 y Visual Studio 17.6. Estas actualizaciones incluyen constructores primarios para clases y structs que no son registros, la posibilidad de utilizar alias para cualquier tipo, así como valores por defecto para los parámetros de expresiones lambda.
.NET 8 Preview 3, que se presentó el 11 de abril, contiene estas nuevas características de C# 12. La disponibilidad general tanto de C# 12 como de .NET 8 está prevista para este mes de noviembre. Además, los desarrolladores también pueden explorar las actualizaciones de C# 12 en la última versión preliminar de Visual Studio 17.6.
Los constructores primarios permiten a los desarrolladores incluir parámetros directamente en una declaración de clase, utilizándolos dentro del cuerpo de la clase, como inicializar propiedades o incorporarlos en el código de accesores a métodos y propiedades. Inicialmente introducidos para registros en C# 9 como parte de la sintaxis posicional, C# 12 amplía esta funcionalidad a otras estructuras y clases.
La última versión de C# 12 también amplía el soporte de alias para abarcar cualquier tipo. Microsoft aclara que la directiva using alias puede aplicarse a alias de cualquier tipo, más allá de los tipos con nombre. Esto permite la creación de alias semánticos para tipos de tupla, tipos de matriz, tipos de puntero u otros tipos no seguros.
Además, C# 12 amplía las expresiones lambda permitiendo a los desarrolladores definir valores por defecto para los parámetros. La sintaxis y las reglas se alinean con las de la adición de valores por defecto para los argumentos de cualquier función o método local. Los valores por defecto para las expresiones lambda se describen como un avance significativo en la potenciación de las expresiones lambda.
Microsoft está buscando activamente comentarios sobre estas nuevas características de C# y se anima a los desarrolladores a compartir sus opiniones sobre los constructores primarios, alias de cualquier tipo y valores por defecto en expresiones lambda a través de canales dedicados.
Además de las actualizaciones de C# 12, .NET 8 Preview 3 presenta cambios en las rutas de compilación, las cargas de trabajo, Microsoft.Extensions y los contenedores. También ofrece mejoras de rendimiento en el compilador JIT para Arm64 y optimización dinámica guiada por perfiles (PGO). El lanzamiento de .NET 7 en noviembre de 2022 introdujo una versión actualizada de C#, acompañada de mejoras de rendimiento, herramientas de contenedores y nativas de la nube, y amplias actualizaciones de .NET MAUI, entre otras bibliotecas y marcos de .NET.
Mientras los lenguajes y plataformas de programación tradicionales siguen evolucionando, empresas como AppMaster se centran en ofrecer soluciones sin código para desarrolladores, minimizando la complejidad del desarrollo de software. Con más de 60.000 usuarios, AppMaster ha demostrado ser una potente plataforma para crear aplicaciones backend, web y móviles sin necesidad de amplios conocimientos de codificación. Más información en studio.appmaster.io.