private void Lambda(int iCase) { switch (iCase) { case (int)LambdaCase.simpleLambda: //식형식람다식 delIntFunc dInt = (a, b) => a * b; int iResult = dInt(4, 5); lBoxResult.Items.Add(iResult.ToString()); delStringFunc dString = () => string.Format("Lambda 식형식"); string strResult = dString(); lBoxResult.Items.Add(strResult.ToString()); break; case (int)LambdaCase.sentenceLambda: //문형식람다식 delStringFunc dStringSen = () => { return(string.Format("Lambda 문형식")); }; String strSenResult = dStringSen(); lBoxResult.Items.Add(strSenResult.ToString()); break; case (int)LambdaCase.genericAnonymous_func: //제네릭형태의 무명메소드 //반환값이 있는 형태 Func <int, int, int> fInt = (a, b) => a * b; //마지막은 항상 반환값 int fIntResult = fInt(4, 5); lBoxResult.Items.Add(fIntResult.ToString()); break; case (int)LambdaCase.genericAnonymous_action: //반환값 없는 형태 Action <string, string> aString = (a, b) => { string strText = string.Format("인자값 {0}와 {1}를 받았습니다.", a, b); lBoxResult.Items.Add(strText.ToString()); }; aString("시간", "금"); break; case (int)LambdaCase.generic_return: int[] iGroup = { 1, 3, 5, 7, 9 }; int iNumSum = iGroup.Sum(x => x); lBoxResult.Items.Add(iNumSum.ToString()); string[] strGroup = { "aa", "bb", "cc", "dd" }; int iLengthSum = strGroup.Sum(x => x.Length); lBoxResult.Items.Add(iLengthSum.ToString()); break; default: break; } }
private void Lambda(int iCase) { switch (iCase) { case (int)enumLambdaCase.식형식_람다식: // delIntFunc dint = (a, b) => a * b; int iRet = dint(4, 5); lboxResult.Items.Add(iRet.ToString()); delStringFunc dString = () => string.Format("Lambda Sample 식형식"); string sRet = dString(); lboxResult.Items.Add(sRet); break; case (int)enumLambdaCase.문형식_람다식: // 문형식 람다식 delStringFunc dstrSeqment = () => { return(string.Format("Lambda Sample 문형식")); }; string sSeqRet = dstrSeqment(); lboxResult.Items.Add(sSeqRet.ToString()); break; case (int)enumLambdaCase.제네릭_형태의_무명메서드_Action: // action Action <string, string> aString = (a, b) => { string strText = String.Format("인자값 {0} 와 {1} 를 받았습니다.", a, b); lboxResult.Items.Add(strText.ToString()); }; aString("시간", "금"); break; case (int)enumLambdaCase.제네릭_형태의_무명메서드_Func: // FUNC : 반환값이 있는 형태 Func <int, int, int> fint = (a, b) => a * b; int fintRet = fint(4, 5); lboxResult.Items.Add(fintRet.ToString()); break; case (int)enumLambdaCase.제네릭_형태의인자_반환_예제: int[] iGroup = { 1, 3, 5, 7, 9 }; int iNumSum = iGroup.Sum(x => x); lboxResult.Items.Add(iNumSum.ToString()); string[] strGroup = { "xxx", "TTT", "YYY" }; int iLengthSum = strGroup.Sum(x => x.Length); lboxResult.Items.Add(iLengthSum.ToString()); break; default: break; } }
private void Lambda(int iCase) { switch (iCase) { case (int)enumLambdaCase.식형식_람다식: delIntFunc dint = (a, b) => a + b; int iRet = dint(4, 5); lboxResult.Items.Add(iRet.ToString()); delStringFunc dString = () => string.Format("Lambda Sample 식형식"); string strRet = dString(); lboxResult.Items.Add(strRet.ToString()); break; case (int)enumLambdaCase.문형식_람다식: delStringFunc dstrSeqment = () => { return(string.Format("Lambda Sample 문형식")); }; string strSeqRet = dstrSeqment(); lboxResult.Items.Add(strSeqRet); break; case (int)enumLambdaCase.제네릭_형태의_무명메서드_Func: // 제네릭 형태의 무명 메서드 // func : 반환 값이 있는 형태 Func <int, int, int> fint = (a, b) => a + b; int fIntRet = fint(4, 5); lboxResult.Items.Add(fIntRet.ToString()); break; case (int)enumLambdaCase.제네릭_형태의_무명메서드_Action: // action : 반환 값이 없는 형태 Action <string, string> aString = (a, b) => { string strText = String.Format("인자값 {0}와 {1}를 받았습니다", a, b); lboxResult.Items.Add(strText.ToString()); }; aString("시간", "돈"); break; case (int)enumLambdaCase.제네릭_형태의인자__반환_예제: int[] iGroup = { 1, 3, 5, 7, 9 }; int sum = iGroup.Sum(x => x); lboxResult.Items.Add(sum.ToString()); string[] strGroup = { "XXX", "YYY", "ZZZ" }; int length = strGroup.Sum(x => x.Length); lboxResult.Items.Add(length); break; default: break; } }
private void Lambda(int iCase) { switch (iCase) { case (int)enumLamdaCase.식형식_람다식: delIntFunc dint = (a, b) => a + b; int iRet = dint(4, 5); lboxResult.Items.Add(iRet.ToString()); delStringFunc dString = () => string.Format("Lambda Sample 식형식"); string strRet = dString(); lboxResult.Items.Add(strRet); break; case (int)enumLamdaCase.문형식_람다식: // 명시적으로 반환을 해주어야 한다. delStringFunc dstrSeqment = () => { return(string.Format("Lambda Sample 문형식")); }; strRet = dstrSeqment(); lboxResult.Items.Add(strRet); break; case (int)enumLamdaCase.제네릭_형태의_무명메서드_Func: // func : 반환값이 있는 형태 // 마지막 int가 반환값임.. Func <int, int, int> fInt = (a, b) => a + b; int fIntRet = fInt(4, 5); lboxResult.Items.Add(fIntRet.ToString()); break; case (int)enumLamdaCase.제네릭_형태의_무명메서드_Action: // 리턴이 필요없음... Action <string, string> aString = (a, b) => { string strText = String.Format("인자값 {0}와 {1}을 받았습니다.", a, b); lboxResult.Items.Add(strText.ToString()); }; aString("시간", "금"); break; case (int)enumLamdaCase.제네릭_형태의인자__반환_예제: int[] iGroup = { 1, 3, 5, 7, 9 }; int iNumSum = iGroup.Sum(x => x); // 위의값을 빼고 계산하고 넣고 하는 과정... lboxResult.Items.Add(iNumSum.ToString()); string[] strGroup = { "XXXX", "TTT", "YYY" }; int ilengthSum = strGroup.Sum(x => x.Length); lboxResult.Items.Add(ilengthSum.ToString()); break; default: break; } }
private void Lambda(int iCase) { switch (iCase) { case (int)enumLambdaCase.식형식_람다식: // 식형식 람다식 delIntFunc dint = (a, b) => a * b; int iRet = dint(4, 5); lboxResult.Items.Add(iRet.ToString()); delStringFunc dString = () => string.Format("Lambda Sample 식형식"); string strRet = dString(); lboxResult.Items.Add(strRet.ToString()); break; case (int)enumLambdaCase.문형식_람다식: // 문형식 람다식 delStringFunc dstrSeqment = () => { return(string.Format("Lambda Sample 문형식")); }; string strSeqRet = dstrSeqment(); lboxResult.Items.Add(strSeqRet.ToString()); break; case (int)enumLambdaCase.제네릭_형태의_무명메서드_Func: // 제네릭 형태의 무명 메서드 // Func : 반환 값이 있는 형태 Func <int, int, int> fInt = (a, b) => a * b; int fIntRet = fInt(4, 5); lboxResult.Items.Add(fIntRet.ToString()); break; case (int)enumLambdaCase.제네릭_형태의_무명메서드_Action: // 제네릭 형태의 무명 메서드 // Action : 반환값이 없는 형태 Action <string, string> aString = (a, b) => { string strText = String.Format("인자 값 {0}와 {1}을 받았습니다.", a, b); lboxResult.Items.Add(strText.ToString()); }; aString("시간", "금"); break; case (int)enumLambdaCase.제네릭_형태의인자__반환_예제: // 배열의 sum 함수의 경우 인자 값이 func<> 형태로 되어있음) int[] iGroup = { 1, 3, 5, 7, 9 }; int iNumSum = iGroup.Sum(x => x); lboxResult.Items.Add(iNumSum.ToString()); string[] strGroup = { "XXX", "TTTT", "YYY" }; int ilengthSum = strGroup.Sum(x => x.Length); lboxResult.Items.Add(ilengthSum.ToString()); break; default: break; } }