Hace unos días se lanzó .NET 10 y, con él, C# 14, una nueva versión del lenguaje que viene con varias novedades interesantes que mejoran la productividad y la experiencia de desarrollo.
Las más destacables son:
- Miembros extensores
- Asignaciones condicionales
- Propiedades semi-automáticas
- Simplificación del uso de
nameofcon tipos genéricos - Eventos y constructores parciales
- Conversiones implícitas para
Span<T>yReadOnlySpan<T> - Simplificación de parámetros de lambdas
Les damos un vistazo rápido a continuación.
El operador "?." (también conocido como safe navigation operator, null-conditional operator, optional chaining operator o incluso Elvis operator) se introdujo en C# 6.0, en el año 2015. Este conocido operador simplifica el acceso a miembros de un objeto que ocasionalmente podría ser nulo, evitando la necesidad de realizar comprobaciones explícitas de nulidad.
var friend = GetFriendOrNull(1);
var name = friend?.Name; // Si friend es nulo, name será nulo, pero no explotará
Sin embargo, si queremos acceder a una propiedad para asignarle un valor, el operador "?." no es suficiente. Por ejemplo, si queremos asignar un valor a la propiedad Age de un objeto friend sospechoso de ser nulo, debemos comprobarlo manualmente antes de realizar la asignación:
var friend = GetFriendOrNull(1);
if (friend != null)
{
friend.Age = 23;
}
Esto cambiará con C# 14, cuyo lanzamiento está previsto para noviembre de 2025, acompañando a .NET 10, que extenderá el uso de este operador también a la asignación de valores a miembros, completando así su funcionalidad.
Se trata de una característica muy esperada por la comunidad desde hace años, ya que simplificará y hará el código más legible. En este artículo, exploraremos cómo funcionará esta nueva característica y qué implicaciones tendrá en nuestro código.

