用代码示例告诉我c#11有什么新功能
时间: 2024-09-13 17:13:02 浏览: 55
C#11作为C#语言的一个新版本,引入了多项新功能,旨在提高开发效率、增强代码表达能力以及提供更多便利。以下是一些C#11的新特性以及相应的代码示例:
1. 内插字符串改进:C#11允许在字符串内插时使用原始字符串字面值,这在处理多行文本或需要插入的文本中包含许多转义字符时特别有用。
```csharp
var heroe = "Iron Man";
var message = $$"""
<div class="hero">
<h1>{{ heroe }}</h1>
</div>
""";
```
2. 数字分隔符:在数值字面量中可以使用单引号(')作为分隔符,以提高数字的可读性。
```csharp
int largeNumber = 1_000_000;
```
3. `List`和`Dictionary`的扩展方法:添加了新的扩展方法,如`AddRange`、`RemoveRange`、`ClearItems`、`RemoveItems`,这些方法分别用于添加和删除多个元素。
```csharp
List<int> numbers = new List<int> {1, 2, 3};
numbers.AddRange(new[] {4, 5, 6});
Dictionary<string, int> ages = new Dictionary<string, int>
{
["John"] = 30,
["Jane"] = 25
};
ages.Remove("John");
```
4. `required`修饰符:在C#11中,可以将字段标记为`required`,这表示在实例化对象时必须为这些字段赋值。
```csharp
public class Person
{
public required string FirstName { get; init; }
public required string LastName { get; init; }
}
```
阅读全文