c#入门-函数的表达式主体

函数的表达式主体

如果一个函数的主体,仅有一条语句,且这条语句不是流程控制语句。
那么可以把函数主体的大括号,改为=>表示。
如果是有返回值的函数,那么这连return也可以省略。

int ReadInt()
{
	return int.Parse(Console.ReadLine());
}
int ReadInt() =>
  int.Parse(Console.ReadLine());

这同样可以适用于访问器。

class Monster
{
	int hp;
	int maxHp;
	int atk;
	public double HpRatio
	{
		get => 1.0 * hp / maxHp;
		set => hp = (int)(maxHp * value);
	}
}

然而,一般不建议对函数使用这种简写方式。因为难以判断这个函数的边界。
而属性自体有一对大括号,内部的访问器种类也有限,较为容易判断。

仅get访问器的简写

在编程规范中,只有set访问器而没有get访问器是不符合规范的。
这意味着,大多数情况下,一个属性总是会有get访问器。

如果一个属性只有get访问器,且这个get访问器是表达式主体,
那么可以更进一步简写,省略get和大括号。

class Monster
{
	int hp;
	int maxHp;
	int atk;
	public double HpRatio => 1.0 * hp / maxHp;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值