C# .NET中10 个代码小技巧,你用到过几个?

作者:微信公众号:【架构师老卢】
4-18 7:25
33

概述:**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.R

**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 带来的强大功能和灵活性的一个小例子。牢牢掌握这些将使开发人员能够编写更干净、更高效的代码,从而缩短开发时间和更好的代码维护。

相关留言评论
昵称:
邮箱:
阅读排行