
C# 表达式主体定义语法糖中的 => 并不创建 lambda 表达式,而是定义了一个更简洁的成员实现
看一段C# 表达式主体定义语法糖的示例
public CurrentUser currentUser => new CurrentUser(3);
在C# 6.0及更高版本中,public CurrentUser currentUser => new CurrentUser(3);
这句话是使用了所谓的“表达式主体定义”(Expression-bodied definitions)
的语法糖。这种语法允许你以更简洁的方式定义属性、索引器、方法和构造函数的实现。
传统的完整写法可能是这样的:
public CurrentUser CurrentUser
{
get
{
return new CurrentUser(3);
}
}
在这个传统的写法中,CurrentUser 是一个属性,它有一个 get 访问器,该访问器每次被调用时都会返回一个新的 CurrentUser 实例,参数为 3。
使用表达式主体定义后,代码变得更加简洁,同时保持了相同的语义。这种简化的写法特别适用于那些返回值是简单表达式的属性、方法或索引器。
表达式主体定义不仅限于属性,还可以用于方法,如下所示:
public int Add(int a, int b) => a + b;
这个方法接受两个整数参数,并返回它们的和。使用表达式主体定义,你可以在不使用大括号和 return 关键字的情况下定义方法体。
需要注意的是,表达式主体定义有一些限制,例如它们不能包含控制流语句(如 if、switch、for、while 等),并且不能是 void 返回类型。
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)
评价
排名
8
文章
222
粉丝
7
评论
7
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术