使用DDD从零构建一个完整的系统
下面盘点10个C#常用的简洁语法,你用过几个?
01
属性初始化器
public class Person
{
public string Name { get; set; } = "John";
}
02
字符串插入
string name = "John";
Console.WriteLine($"Hello, {name}");
// 输出:Hello, John
03
空合并运算符(??)
string name = null;
Console.WriteLine(name ?? "unknown");
// 输出:unknown
04
LINQ查询表达式
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定义任何类型的对象,变量number和stringValue的类型由初始化它们的值自动推导得出。
var number = 10;
var stringValue = "Hello";
08
Events事件
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)}";
}
}
最后,欢迎加入我的知识星球,在星球里,我已编写了多个原创专栏、上百篇的编程与学习心得,带你从零学习框架的搭建,提供专门的编程交流学习群,并获取 1 对 1 的答疑指导服务。
- End -
一个UWP 框架开发的哔哩哔哩非官方应用
盘点5个C#开发的、可用于个人博客的系统
一套 .NET开发的邮箱Mail开源库
一套.NET Core +WebAPI+Vue前后端分离权限框架
.Net开发的跨平台Word模板引擎
觉得好看 点个在看👇
发表评论