7.15 C# 6 Expression-Bodied Methods and Properties

C# 6 introduces a new concise syntax for:

  • methods that contain only a return statement that returns a value

  • read-only properties in which the get accessor contains only a return statement

  • methods that contain single statement bodies.

Consider the following Cube method:


static int Cube(int x)
{
   return x * x * x;
}

In C# 6, this can be expressed with an expression-bodied method as


static int Cube(int x) => x * x * x;

The value of x * x * x is returned to Cube’s caller implicitly. The symbol => follows the method’s parameter list and introduces the method’s body—no braces or return statement are required and this can be used with static and non-static methods alike. If the expression to the right of => does not have a value (e.g., a call to a method that returns void), the expression-bodied method must return void. Similarly, a read-only property can be implemented as an expression-bodied property. The following reimplements the IsNoFaultState property in Fig. 6.11 to return the result of a logical expression:


public bool IsNoFaultState =>
   State == "MA" || State == "NJ" || State == "NY" || State == "PA";
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset