... | @@ -223,9 +223,9 @@ public class Person |
... | @@ -223,9 +223,9 @@ public class Person |
|
|
|
|
|
* **람다 식을 이용한 method, property 및 index 정의**
|
|
* **람다 식을 이용한 method, property 및 index 정의**
|
|
C# 언어에는 클래스가 직관적으로 배열처럼 다뤄질 수 있을 때 사용하기 쉽도록 this keyword를 이용한 indexer라고 하는 특별한 구문을 제공한다.
|
|
C# 언어에는 클래스가 직관적으로 배열처럼 다뤄질 수 있을 때 사용하기 쉽도록 this keyword를 이용한 indexer라고 하는 특별한 구문을 제공한다.
|
|
```cs
|
|
```cs
|
|
public class Vector
|
|
public class Vector
|
|
{
|
|
{
|
|
double x, y;
|
|
double x, y;
|
|
public Vector(double x, double y)
|
|
public Vector(double x, double y)
|
|
{
|
|
{
|
... | @@ -246,10 +246,10 @@ public class Vector |
... | @@ -246,10 +246,10 @@ public class Vector |
|
|
|
|
|
public Vector Move(double dx, double dy) => new Vector(x + dx, y + dy);
|
|
public Vector Move(double dx, double dy) => new Vector(x + dx, y + dy);
|
|
public void PrintIt() => Console.WriteLine(this);
|
|
public void PrintIt() => Console.WriteLine(this);
|
|
}
|
|
}
|
|
|
|
|
|
class Program
|
|
class Program
|
|
{
|
|
{
|
|
static void Main(string[] args)
|
|
static void Main(string[] args)
|
|
{
|
|
{
|
|
Vector vec = new Vector(90, 180);
|
|
Vector vec = new Vector(90, 180);
|
... | @@ -259,8 +259,8 @@ class Program |
... | @@ -259,8 +259,8 @@ class Program |
|
Console.WriteLine(vec["degree"]);
|
|
Console.WriteLine(vec["degree"]);
|
|
Console.WriteLine(vec["error"]);
|
|
Console.WriteLine(vec["error"]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
```
|
|
* **using static 구문을 이용한 타입명 생략**
|
|
* **using static 구문을 이용한 타입명 생략**
|
|
생성자의 경우 method긴 하지만 예외적으로 람다 식을 이용해 구현할 수 없다.
|
|
생성자의 경우 method긴 하지만 예외적으로 람다 식을 이용해 구현할 수 없다.
|
|
|
|
|
... | | ... | |