"=>"c#中属性中的操作符平均值
本文关键字:quot 平均值 操作符 属性 | 更新日期: 2023-09-27 18:15:08
这段代码是什么意思?
public bool property => method();
这是一个表达式体属性, 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文档获取更多信息。
"表达式体定义使您能够以非常简洁、可读的形式提供成员的实现。只要任何受支持成员(如方法或属性)的逻辑由单个表达式组成,就可以使用表达式体定义。"