**1.对象初始化语法:**对象初始化语法允许您以简洁易读的方式初始化对象的属性。
var person = new Person
{
Name = "John Doe",
Age = 30,
Address = "123 Main St"
};
**2.Enumerable.Range 方法:**Enumerable.Range 在指定范围内生成一系列数字,便于迭代和数值运算。
var numbers = Enumerable.Range(1, 10);
**3.条件三元算子:**条件三元运算符 (? :)提供了一种简洁的方式来表达条件逻辑,提高了代码的可读性。
int x = 10;
string result = x > 5 ? "Greater than 5" : "Less than or equal to 5";
**4.图案匹配:**模式匹配简化了条件逻辑和类型检查,使代码更具表现力和可读性。
object obj = "Hello";
if (obj is string str)
{
Console.WriteLine($"Length of string: {str.Length}");
}
**5.Task.WhenAll 方法:**Task.WhenAll 支持并行执行多个异步任务,从而提高异步编程的性能和并发性。
var task1 = Task.Run(() => Method1());
var task2 = Task.Run(() => Method2());
await Task.WhenAll(task1, task2);
**6.表达体成员:**表达式主体成员为定义方法、属性和索引器提供了简洁的语法,从而增强了代码的简洁性和清晰度。
public string FullName => $"{FirstName} {LastName}";
**7.TimeSpan结构:**TimeSpan 结构表示时间间隔,从而可以轻松执行算术运算和操作与时间相关的数据。
var timeSpan = TimeSpan.FromDays(1);
**8.字典初始化:**字典初始化允许您使用简洁的语法初始化字典中的键值对。
var dictionary = new Dictionary<int, string>
{
{ 1, "One" },
{ 2, "Two" },
{ 3, "Three" }
};
**9.StringSplitOptions 枚举:**StringSplitOptions 指定在拆分字符串时是否应包含空字符串,从而为字符串操作提供灵活性。
string[] parts = input.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
**10.反射:**反射支持在运行时对类型和成员进行动态检查和调用,从而促进对象实例化和方法调用等任务。
var assembly = Assembly.Load("MyAssembly");
Type type = assembly.GetType("MyNamespace.MyClass");
object instance = Activator.CreateInstance(type);