37 lines
1.0 KiB
Markdown
37 lines
1.0 KiB
Markdown
---
|
|
title: Expression Bodied Methods and Properties
|
|
---
|
|
|
|
# Expression Bodied Methods and Properties
|
|
|
|
You can declare methods and properties as a lambda expression, without the need for a statement block. Intended for simple implementations, this syntax is more concise than declaring a regular method or property in that it eliminates the need for some of the curly braces and the use of an explicit return statement.
|
|
|
|
Here is an example of a regular method declaration:
|
|
```csharp
|
|
public Point CreatePoint(int x, int y)
|
|
{
|
|
return new Point(x, y);
|
|
}
|
|
```
|
|
|
|
The following gives the same result, but is written as an expression bodied method:
|
|
```csharp
|
|
public Point CreatePoint(int x, int y) => new Point(x, y);
|
|
```
|
|
|
|
You can also declare properties with this syntax. The following code is how we declare a get-only property without a lambda expression:
|
|
```csharp
|
|
public Point Location
|
|
{
|
|
get
|
|
{
|
|
return _location;
|
|
}
|
|
}
|
|
```
|
|
|
|
Through an expression-bodied method, we can shrink this code down to only one line:
|
|
```csharp
|
|
public Point Location => _location
|
|
```
|