**1. 对象初始化语法:**此代码段简化了创建对象和初始化其属性的过程。
public class Product
{
public string Name { get; set; }
public decimal Price { get; set; }
}
var product = new Product
{
Name = "Laptop",
Price = 999.99M
};
**2. Enumerable.Range 方法:**使用 生成一个数字序列,这对于迭代设定的次数特别有用,而无需在循环中手动初始化计数器。Enumerable.Range
foreach (var number in Enumerable.Range(1, 10))
{
Console.WriteLine(number);
}
**3. 条件三元运算符:**此代码片段提供了一种执行快速条件检查的简洁方法。
int time = 20;
var result = (time < 18) ? "Good day." : "Good evening.";
Console.WriteLine(result);
**4. Task.WhenAll 方法:**同时运行多个任务,并等待所有任务都完成。Task.WhenAll
async Task DownloadAllAsync(List<string> urls)
{
var tasks = urls.Select(url => DownloadAsync(url)).ToArray();
await Task.WhenAll(tasks);
}
async Task DownloadAsync(string url)
{
Console.WriteLine($"Downloading from {url}");
}
**5. 字符串插值:**字符串插值允许您直接在字符串文本中嵌入变量,以获得更具可读性和可维护性的代码。
var name = "John";
var age = 30;
Console.WriteLine($"Hello, my name is {name} and I am {age} years old.");
**6. Null-Conditional Operator:**安全地访问可能要阻止的对象的成员。
string firstName = person?.FirstName ?? "Unknown";
Console.WriteLine(firstName);
**7. LINQ 查询语法:**使用 LINQ 优雅地查询数据集合。
var scores = new int[] { 90, 100, 82, 89, 92 };
var highScores = from score in scores
where score >= 90
select score;
foreach (var score in highScores)
{
Console.WriteLine(score);
}
**8. 使用 Statement:**随语句自动处置资源,确保没有资源悬而未决。using
using (var streamReader = new StreamReader(@"C:\\file.txt"))
{
string content = streamReader.ReadToEnd();
Console.WriteLine(content);
}
**9. 表达式成员:**当方法或属性由单个语句组成时,简化语法。
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
// Expression-bodied member
public string FullName => $"{FirstName} {LastName}";
}
**10. 字典初始化:**使用集合初始值设定项语法简洁地初始化字典。
var capitals = new Dictionary<string, string>
{
["USA"] = "Washington, D.C.",
["Japan"] = "Tokyo",
["France"] = "Paris"
};
这些只是 C# 和 .NET 带来的强大功能和灵活性的一个小例子。牢牢掌握这些将使开发人员能够编写更干净、更高效的代码,从而缩短开发时间和更好的代码维护。