使用代码片段探索 C# 中的最新功能
作者:互联网
- 记录:记录是 C# 9 中的一种新类型,可用于创建主要用于存储数据的类型。它们可以代替类使用,但具有一些附加功能,使它们更易于使用和更具表现力。
下面是简单记录定义的示例:
公共记录 人员(字符串名字,字符串姓氏);
您可以像这样创建记录的实例:Person
var person = new Person(“John”, “Doe”);
您可以像这样访问记录的属性:
控制台。写线(人。名字);输出:约翰 控制台。写线(人。姓氏);输出:母鹿
2. 仅初始化属性:仅初始化属性是 C# 9 中的一项新功能,它允许您在初始化对象时仅设置一次属性。这对于创建不可变对象或在创建后不应修改的对象非常有用。
下面是具有仅初始化属性的类的示例:
公共类 人 { 公共字符串 名字 { get;初始化; } 公共字符串 LastName { get;初始化; } }
您可以像这样创建类的实例:Person
var person = new Person { FirstName = “John”, LastName = “Doe” };
但是,一旦创建了对象,就无法更改属性的值:
人。名字 = “简”;错误:无法修改只读属性
3. 顶级语句:顶级语句是 C# 9 中的一项新功能,它允许您在文件的顶层编写代码,而无需将其包装在类或方法中。这样可以更轻松地编写和测试简单的程序或脚本。
下面是使用顶级语句的简单程序的示例:
用系统; Console.WriteLine(“Hello, world!”);
当您编译并运行此程序时,它会将“Hello,world!”打印到控制台。
4. 改进的模式匹配:C# 9 对模式匹配进行了多项改进,使其更容易、更具表现力。最显着的改进之一是能够在模式中使用 and 运算符。and
or
下面是在模式中使用运算符的 switch 语句示例:and
switch (obj) { 大小写字符串 s 和 { 长度: > 10 }: Console.WriteLine($“字符串 '{ s}' 的长度超过 10 个字符。 休息; 大小写字符串 s: Console.WriteLine($“字符串 '{s}' 的长度为 {s.Length}.”); 休息; case int i: Console.WriteLine($“整数值为 {i}.”); 休息; default: Console.WriteLine(“未知类型”); 破; }
此 switch 语句使用运算符匹配长度超过 10 个字符的字符串,以及字符串和整数的单独大小写。