2008-10-07 2 views
6

최근 게시물에 대한 답변 (C#의 루비 메소드()를 모방 할 수있는 모든 기회)는 => 연산자를 사용 예제에 사용하십시오. 이 연산자는 무엇을합니까? 내 C# 책에서 찾을 수 없으며이 온라인 같은 기호를 검색하기가 어렵습니다. (찾을 수 없습니다.)C# 연산자 => 의미는 무엇입니까?

답변

15

실제 연산자가 아니기 때문에 람다 식 구문의 일부입니다. 특히 =>는 λ 식의 본문에서 매개 변수를 분리하는 비트입니다.

책이 C# 3.0을 다루고 있습니까? 그렇지 않으면 람다식이 포함되지 않습니다. 그렇게된다면, 정말로 그들을 덮어야합니다! 올바른 용어를 사용하여 TOC 또는 색인에서 찾을 수 있습니다.

EDIT : 조금 더 자세한 정보 : 람다 식 표현식 트리는 표현식 트리 (.NET 3.5의 새로운 기능)에서 대리자 또는의 인스턴스를 만드는 구문 단편입니다. 람다 (Lambda) 표현식은 익명 메소드가 "매개 변수를 신경 쓰지 않는다"는 개념을 지원하지 않지만 익명 메소드를 대체합니다 (C# 2.0). 람다 표현 될 것이다

+0

아, 내 책은 너무 당연 내가 그것을 찾을 수 없습니다 수, C# 3.0에는 적용되지 않습니다! –

+0

''매개 변수에 대해 신경 쓰지 않습니다. '' '익명 메소드가하는 방식으로 무엇을 의미하는지 물어볼 수 있습니까?' 감사! – xanatos

+1

@xanatos : 예를 들어, 보낸 사람이나 args를 사용하지 않는'EventHandler'를 만들려면,'delegate {Console.WriteLine ("Called"); }'매개 변수 목록을 전혀 지정하지 않아도됩니다. 반환 유형이 void이고 모든 "in"매개 변수가있는 대리자 유형으로 변환 될 수 있습니다. –

1

:

http://msdn.microsoft.com/en-us/library/bb397687.aspx

예는 여기에서 : I는 람다 식 이벤트 대리자를 만든 다음

MyControl.OnMouseDown += (sender, e) => 
{ 
    // Do something in the mouse down event 
}; 

. 그것은 기본적으로 클래스에서 별도의 함수를 생성하지 않아도됩니다.

1

람다 식은 표현식과 명령문을 포함 할 수있는 익명의 함수로, 대리인 또는 표현식 트리 형식을 만드는 데 사용할 수 있습니다.

모든 람다 식은 람다 연산자 =>를 사용하며, "가는 곳"으로 읽습니다. 람다 연산자의 왼쪽은 입력 파라미터를 지정하는 것 (있는 경우) 및 우측

http://msdn.microsoft.com/en-us/library/bb397687.aspx

1

=> 토큰 람다 연산자이라고 표현이나 문 블록을 보유하고있다.

왼쪽의 입력 변수를 오른쪽의 람다 본문과 구분하기 위해 람다 식에 사용됩니다.

MSDN