사진 삭제
사진 설명을 입력하세요.
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);