このコードはどういう意味ですか?
public bool property => method();
これはexpression-bodied propertyであり、C#6で導入された計算プロパティの新しい構文であり、ラムダ式を作成するのと同じ方法で計算プロパティを作成できます。この構文は次と同等です
public bool property {
get {
return method();
}
}
メソッドにも同様の構文が機能します。
public int TwoTimes(int number) => 2 * number;
それは表現の身体的特性です。 MSDN を参照してください。これは単なる略記です
public bool property
{
get
{
return method();
}
}
式本体機能も可能です。
public override string ToString() => string.Format("{0}, {1}", First, Second);
これはC#6に最初に導入された新しい機能であると述べたように、ゲッターとセッターで使用するために C#7. でその使用を拡張しました。
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?
プロパティで使用される=>
はexpression body
です。基本的に、getter
のみを使用してプロパティを記述する、より簡潔で簡潔な方法。
public bool MyProperty {
get{
return myMethod();
}
}
に翻訳されています
public bool MyProperty => myMethod();
よりシンプルで読みやすいですが、この演算子はC#6および here からのみ使用できます。式本体に関する特定のドキュメントがあります。
それは、単純化された表現です。
public string Text =>
$"{TimeStamp}: {Process} - {Config} ({User})";