盘点10个常用的C#简洁语法,你用过几个?

105 阅读1分钟

使用DDD从零构建一个完整的系统

喜欢C#的其中一个原因,就是C#的语法非常简洁,C#具有可读性和易写性、高效性、强大的功能性等优点,使得开发人员能够更快速、更高效地开发出高质量的应用程序。

下面盘点10个C#常用的简洁语法,你用过几个?

01

属性初始化器

以下例子,为Name属性设置默认值“John”。

public class Person
{
    public string Name { get; set; } = "John";  
}

02

字符串插入

以下例子,直接将变量name插入到字符串中,无需使用字符串连接符。

string name = "John";  
Console.WriteLine($"Hello, {name}");  
// 输出:Hello, John

03

空合并运算符(??)

以下例子,如果name为null,那么name ?? "unknown"的结果就是"unknown"。

string name = null;  
Console.WriteLine(name ?? "unknown");  
// 输出:unknown

04

LINQ查询表达式

以下例子,LINQ查询表达式来筛选出年龄大于18岁的人。查询表达式是一种简洁且易读的语法。

var query = from person in people
            where person.Age > 18
            select person;

05

Lambda表达式

以下例子,Lambda表达式来定义一个简单的函数。使用Lambda表达式使得函数定义更加简洁。

Func<int, int, int> add = (x, y) => x + y;  
Console.WriteLine(add(10, 20));  
// 输出:30

06

异常过滤器

使用异常过滤器来仅捕获符合特定条件的异常。

try{

   // 可能会抛出异常的代码块 
    
}  
catch (Exception ex) when (ex.Message == "特定错误信息")  
{  

   // 处理特定错误情况的代码块  

}

07

var关键词

使用var定义任何类型的对象,变量numberstringValue的类型由初始化它们的值自动推导得出。

var number = 10;  
var stringValue = "Hello";

08

Events事件

在这个例子中,我们使用事件来定义一个异步通知机制,当MyEvent被触发时,所有注册的MyEventHandler委托都会被调用。

public delegate void MyEventHandler(object sender, MyEventArgs e);  
public class MyClass  
{  
    public event MyEventHandler MyEvent;  
    public void DoSomething()  
    {  
        // 在某个时刻触发事件  
        MyEvent?.Invoke(this, new MyEventArgs());  
    }  
}

09

匿名函数

使用匿名函数快速定义一个简单的函数。

Action myAction = () => Console.WriteLine("Hello");  
myAction.Invoke();  
// 输出:Hello

10

扩展方法

以下例子,为string扩展一个首字母转为大写的方法ToUpperFirstLetter

public static class StringExtensions  
{  
    public static string ToUpperFirstLetter(this string str)  
    {  
        if (string.IsNullOrEmpty(str)) return string.Empty;  
        return $"{str[0].ToUpper()}{str.Substring(1)}";  
    }  
}

- End -

推荐阅读

一个UWP 框架开发的哔哩哔哩非官方应用

盘点5个C#开发的、可用于个人博客的系统

一套 .NET开发的邮箱Mail开源库

一套.NET Core +WebAPI+Vue前后端分离权限框架

.Net开发的跨平台Word模板引擎