public override double TotalSpecialPower => 1000;
Run Code Online (Sandbox Code Playgroud)
什么是=>运营商意味着什么?
我知道这=>是一个 lambda 表达式,但我不知道它在public override double TotalSpecialPower => 1000;.
而且任何人都可以向我解释的get,并set与他们在下面的代码是如何工作的?
private int _health = 100;
public int Health
{
get => _health;
set { _health = value; CaluateHeath(); }
}
Run Code Online (Sandbox Code Playgroud)
=>用于您提到的 lambda 函数。它也用于表达体成员。
有关表达式主体成员的文档可在此处获得:https : //docs.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/expression-bodied-members
2016 年的 C# 7.0 添加了对表达式主体属性和其他成员的支持。
在方法和属性get块中,它相当于{ return X; }.
get { return X; }属性。get,那么它相当于 ``所以这:
public int Health
{
get => _health;
set { _health = value; CaluateHeath(); }
}
Run Code Online (Sandbox Code Playgroud)
相当于:
public int Health
{
get { return _health };
set { _health = value; CaluateHeath(); }
}
Run Code Online (Sandbox Code Playgroud)
和这个:
public override double TotalSpecialPower => 1000;
Run Code Online (Sandbox Code Playgroud)
相当于:
public override double TotalSpecialPower
{
get { return 1000; }
}
Run Code Online (Sandbox Code Playgroud)
这(注意括号):
public override double TotalSpecialPower() => 1000;
Run Code Online (Sandbox Code Playgroud)
相当于:
public override double TotalSpecialPower()
{
return 1000;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1559 次 |
| 最近记录: |