사진 삭제

 

사진 설명을 입력하세요.

1)대리자 + 2)람다 -> 3)비동기 -> 4) .NET 네트워크

 

C# 스타일에 맞는 네트워크 프로그래밍을 하려면, 비동기(Thread, Task, Async, Parallel) 구조 구현을 이해해야 한다.

C# 스타일 비동기 구조 구현을 위해서는, 대리자와 이벤트를 이해해야 한다.

C# 에서 대리자와 이벤트의 사용은 사용자 생성 대리자와, func, action 대리자에 람다를사용 할 수 있어야 한다.


기본적으로 람다는 쓰지 않는다.

C#을 제외하고 디버깅이 힘들다. 한번 쓰고 두번 다시 쓰지 않을 경우, 3줄 이하의 코드에서만 쓴다.

1. 람다식과 대리자로 만드는 무명 메서드

2. Statement Lambda

(매개변수_목록) = > {
                문장1;
                문장2;
                문장3;
                ...
}

3. 사용자의 대리자 선언을 대신하는 Func, Action 대리자

- delegate(대리자)의 선언을 생략할 수 있게, Func와 Action 대리자 .NET 에서 제공

- func 대리자

:결과를 반환하는 메소드 참조하는 경우 사용

 

 

- action 대리자

: 결과를 반환하지 않는 메소드를 참조하는 경우 사용

 

 

추가

Lamda를 더 하려면, Generic, Collection, LINQ 과 함께 공부한다.

4. Expression Tree

- System.Linq.Expressions

- Expression 클래스와 파생 클래스들

- 각 노드 타입 상관 없이 Expression 형식 참조 선언 가능

- expression tree = statement(구문, 구현부) 를 트리로 표현한것

5. Expression-Bodied Member

- 메소드, 속성(인덱서), 생성자, 종료자를 statement로만 구현

- 연산자 { }를 =>로 변경

6. Lamda + LINQ

// LINQ Where() 메서드 안에서 사용된 람다식

var projs = db.Projects.Where(p => p.Name == strName);

 

ubiquitous4g