探索 C# 14 新功能:实用特性为编程带来便利

)返回 List` 名称。

带修饰符的简单 lambda 参数

从 C# 14 开始,可以在不指定参数类型的情况下,向 lambda 表达式参数添加参数修饰符,例如:scoped、ref、in、out或 ref readonly

支持更多部分成员(partial members)

从 C# 14 开始可以将实例构造函数事件声明为部分成员(partial members)。 > > > 注意:部分构造函数和分部事件必须包含一个定义声明和一个实现声明。 >

Null 条件赋值

Null 条件成员访问运算符“?.”“?[]”现在可在赋值或复合赋值的左侧使用。 在 C# 14 之前,在分配给属性之前,需要对变量进行 null 检查:

        public static void GetUserInfo()        {            UserInfo userInfo = null;            if (userInfo is not null)            {                userInfo.Age = CalculateAge(userInfo);            }        }        private static int CalculateAge(UserInfo userInfo)        {            return DateTime.Now.Year - userInfo.Birthday.Year;        }

在 C# 14 中可以使用运算符简化上述代码 ?. : > > > 注意:运算符 = 的右侧仅在左侧不为 null 时才会被计算。如果 userInfo 为 null,则代码不调用 CalculateAge。 >

        public static void GetUserInfo()        {            UserInfo userInfo = null;            userInfo?.Name = CalculateAge(userInfo);        }        private static int CalculateAge(UserInfo userInfo)        {            return DateTime.Now.Year - userInfo.Birthday.Year;        }

参考文章