Example #1
0
        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;
            }
        }
Example #2
0
        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;
            }
        }
Example #3
0
        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;
            }
        }
Example #4
0
        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;
            }
        }
Example #5
0
        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;
            }
        }