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
 | 
						|
```
 |