출처 : http://blog.naver.com/PostView.nhn?blogId=rintiantta&logNo=40115460090&categoryNo=59&viewDate=¤tPage=2&listtype=0&from=postList&userTopListOpen=true&userTopListCount=5&userTopListManageOpen=false&userTopListCurrentPage=2
어쨌건, 시작합니다. ㅎㅎ
프로젝트를 만들어주세요 ㅇㅅㅇ .. !
아래가 람다입니다. ㅇㅅㅇ
"헐킈, 먼가요 저게 ?"
『=>』요게 들어가면 람다입니다.
『간단하게 x 라는 인수를 x*x 로 리턴한다는 뜻입니다.』
실행 한번 해보죠 ㅎㅎ
100 이 출력 되는 것을 볼 수 있습니다.
지금.. 제 생각에는..
"아놔, 리턴도 안 했는데, 뭐 위의 결과가 뜹니까?!" 하시는 분이 있을텐데요.
아래와 같이 return 을 써주셔도 됩니다 .ㅎㅎ
간단하게 X => Y 로 되어있는 람다식에서는 X 가 파라메터, Y 가 리턴값이 됩니다. >_<
아래와 같이 여러개를 넣을 수도 있지요 >_<
결과입니다. ㅎㅎ
근데 만약 파라메터가 2개라면... >_<
아래와 같이 해주시면 됩니다 .ㅇㅅㅇ...
무지 짧죠 ?
『귀차니즘의 역사』라고 말한 이유가 이것입니다.
점점점점점 짧아지죠... ㅎㅎ
그럼 이걸 어디다 쓰는지는 봐야죠 ㅇㅅㅇ...
그리고, 가끔 『=>』이게 나오면 "허걱... 이건 머임.." 하고 놀라시는 분이 있으시니, 조금 활용해보도록합시다. ㅎㅎ
우선 리스트에 Where 이라는 메서드가 있습니다.
조건에 맞는 녀석들을 뽑아서 다시 배열로 만들어주시는 분입니다.
보시면 파라메터로 Func<string, bool> predicate 를 달라고 하는데요.
뭔 개소리일까요 ㅇㅅㅇ ....
<string, bool> 의 뜻은 대충 『string을 박으면 bool 로 나오는 녀석』이라는 뜻입니다.
여기에, 리턴값이 bool 이고 파라메터가 string 인 메서드의 이름을 넣으셔도 됩니다.
근데, 길죠 ㅇㅅㅇ... 귀찮구 >_<
아래와 같이 람다식을 넣었습니다.
data 가 'A' 라는 글자를 가지고 있으면 true 를 리턴하게 되는 식입니다.
"아니, 왜 true 를 리턴하죠 ?!"
『Contains() 메서드는 맞으면 True 를 리턴하니까요 ㅇㅅㅇ』
자, 무지 짧아졌죠?
메소드 만들기는 『귀찮』으니까요 ... !
출력하시면 『1』이 나오겠지요 ~_~ ?
음... 결과 스크린샷을 찍었는데.... 없어졌네엥.. ;ㅁ;
어쨌건, 이번에는 MSDN 에 나오는 예제를 봅시다.
아래와 같이 썼어요.
Count() 메서드의 두번째 오버로딩 되는 녀석입니다.
위와 마찬가지로 해석하면요.
『int 를 박으면 bool 이 나오는 함수를 주렴 >_<』 이라는 뜻입니다.
메서드 만들기는 귀찮죠 ... ?
아래와 같이 람다식을 박으시면 됩니다. ㅇㅅㅇ...
람다식은 일단 연습해보는 것이 제일 좋습니다. ㅇㅅㅇ
많은 연습이 제일 중요하죠.
연습하면, 메소드를 만들어야하는 귀찮은 녀석들을 위와 같이 간단간단 20글자 내외로 끝낼 수 있습니다.
자, 그럼 ㅇㅅㅇ ...
C# Basic 강의 종강입니다. ㅎㅎ
괜히 마지막을 Delegate 으로 잡아서 끝을 못 내드리고 똥 안 닦고 나온 기분을 연출시켜드려 죄송합니다. ;ㅁ;
딜리게이트는 Windows Forms 강의에서나 다시 보실 수 있게 될겁니다. ;ㅁ;
끝 ㅎㅎ ... !
[출처] C# 42강 - Delegate(5) : 람다식|작성자 린트
'강좌 > C#' 카테고리의 다른 글
TCP/IP Socket with C# (0) | 2012.01.18 |
---|---|
델리게이트 선언뒤에 할당 (0) | 2012.01.18 |
C# 람다식 (0) | 2012.01.17 |
람다식(Lambda Expression) (0) | 2012.01.17 |
매소드를 인수로 넘기기.. (0) | 2012.01.17 |