"=>"c#中属性中的操作符平均值

本文关键字:quot 平均值 操作符 属性 | 更新日期: 2023-09-27 18:15:08

这段代码是什么意思?

public bool property => method();

"=>"c#中属性中的操作符平均值

这是一个表达式体属性, c# 6中引入的计算属性的新语法,它允许您以与创建lambda表达式相同的方式创建计算属性。该语法相当于

public bool property {
    get {
        return method();
    }
}

类似的语法也适用于方法:

public int TwoTimes(int number) => 2 * number;

正如一些人提到的,这是c# 6首次引入的新特性,他们在c# 7.0中扩展了它的用法,将其与getter和setter一起使用,您还可以将表达式体语法与以下方法一起使用:

static bool TheUgly(int a, int b)
{
    if (a > b)
        return true;
    else
        return false;
}
static bool TheNormal(int a, int b)
{
    return a > b;
}
static bool TheShort(int a, int b) => a > b; //beautiful, isn't it?

这是一个表达式体属性。请参见MSDN。这是

的简写
public bool property
{
    get
    {
        return method();
    }
}

表达式体函数也是可能的:

public override string ToString() => string.Format("{0}, {1}", First, Second);

属性中使用的=>expression body。基本上是一个更短,更干净的方式来写一个属性,只有getter

public bool MyProperty {
     get{
         return myMethod();
     }
}

被翻译成

public bool MyProperty => myMethod();

它更简单和可读,但你只能在c# 6中使用这个操作符,在这里你可以找到关于表达式体的具体文档。

这是表达式体简化。

public string Text =>
  $"{TimeStamp}: {Process} - {Config} ({User})";

引用;https://msdn.microsoft.com/en-us/magazine/dn802602.aspx

这是一个表达式体属性。它可以作为属性getter或方法声明的简化。从c# 7开始,它还扩展到其他成员类型,如构造函数、终结器、属性设置器和索引器。

查看MSDN文档获取更多信息。

"表达式体定义使您能够以非常简洁、可读的形式提供成员的实现。只要任何受支持成员(如方法或属性)的逻辑由单个表达式组成,就可以使用表达式体定义。"