C# =>在属性声明中的含义是什么(不是lambda表达式)?

C# =>在属性声明中的含义是什么(不是lambda表达式)?,c#,C#,=>运算符是什么意思 我知道=>是一个lambda表达式,但我不知道它在public override double TotalSpecialPower=>1000;中的含义 还有谁能向我解释一下get和set,以及它们在下面的代码中是如何工作的 public override double TotalSpecialPower => 1000; =>用于您提到的lambda函数。它也用于表达身体健全的成员 有关expression Body成员的文档可在以下位置获得: 2015年的C 6

=>运算符是什么意思

我知道=>是一个lambda表达式,但我不知道它在public override double TotalSpecialPower=>1000;中的含义

还有谁能向我解释一下get和set,以及它们在下面的代码中是如何工作的

public override double TotalSpecialPower => 1000;
=>用于您提到的lambda函数。它也用于表达身体健全的成员

有关expression Body成员的文档可在以下位置获得:

2015年的C 6.0增加了对表达体方法的支持。 2016年的C 7.0增加了对expression bodied properties和其他成员的支持

在方法和属性get块中,它等价于{return X;}

在属性中: 如果该属性只有一个表达式体,那么它相当于声明一个getter only get{return X;}属性。 如果proeprty有一个显式get,那么它等价于`` 因此:

private int _health = 100;
public int Health
{
    get => _health;
    set { _health = value; CaluateHeath(); }
}
相当于:

public int Health
{
    get => _health;
    set {  _health = value; CaluateHeath(); }
}
public override double TotalSpecialPower => 1000;
public override double TotalSpecialPower() => 1000;
这是:

public int Health
{
    get { return _health };
    set {  _health = value; CaluateHeath(); }
}
public override double TotalSpecialPower
{
    get { return 1000; }
}
相当于:

public int Health
{
    get => _health;
    set {  _health = value; CaluateHeath(); }
}
public override double TotalSpecialPower => 1000;
public override double TotalSpecialPower() => 1000;
这句话的括号是:

相当于:

public int Health
{
    get => _health;
    set {  _health = value; CaluateHeath(); }
}
public override double TotalSpecialPower => 1000;
public override double TotalSpecialPower() => 1000;
=>用于您提到的lambda函数。它也用于表达身体健全的成员

有关expression Body成员的文档可在以下位置获得:

2015年的C 6.0增加了对表达体方法的支持。 2016年的C 7.0增加了对expression bodied properties和其他成员的支持

在方法和属性get块中,它等价于{return X;}

在属性中: 如果该属性只有一个表达式体,那么它相当于声明一个getter only get{return X;}属性。 如果proeprty有一个显式get,那么它等价于`` 因此:

private int _health = 100;
public int Health
{
    get => _health;
    set { _health = value; CaluateHeath(); }
}
相当于:

public int Health
{
    get => _health;
    set {  _health = value; CaluateHeath(); }
}
public override double TotalSpecialPower => 1000;
public override double TotalSpecialPower() => 1000;
这是:

public int Health
{
    get { return _health };
    set {  _health = value; CaluateHeath(); }
}
public override double TotalSpecialPower
{
    get { return 1000; }
}
相当于:

public int Health
{
    get => _health;
    set {  _health = value; CaluateHeath(); }
}
public override double TotalSpecialPower => 1000;
public override double TotalSpecialPower() => 1000;
这句话的括号是:

相当于:

public int Health
{
    get => _health;
    set {  _health = value; CaluateHeath(); }
}
public override double TotalSpecialPower => 1000;
public override double TotalSpecialPower() => 1000;

这都是关于身体的表达。属性只是一种语法糖,可以使方法调用看起来像普通的字段赋值和GET

一个普通属性有一个get和set,它有一个代码块的卷回。对于一行程序来说,这可能有很多语法。因此,我是C语言的最新版本,您可以使用表达式体胖箭头,如lambdas,作为getter和setter

我希望这有帮助


这都是关于身体的表达。属性只是一种语法糖,可以使方法调用看起来像普通的字段赋值和GET

一个普通属性有一个get和set,它有一个代码块的卷回。对于一行程序来说,这可能有很多语法。因此,我是C语言的最新版本,您可以使用表达式体胖箭头,如lambdas,作为getter和setter

我希望这有帮助


@RaymondChen QA指的是lambda或匿名方法,而不是OP所指的表达式体成员。@Dai我本来打算编辑重复列表,但您的重新打开现在阻止了我。这是我的副本,感谢你们两位的回答。@Raymond如果QA指的是lambda或匿名方法,而不是OP所指的表达式体成员。@Dai我本来打算编辑副本列表,但现在您的重新打开阻止了我。这是一份副本,我感谢你们两位的回答。