[C#] 람다식 사용 방법



안녕하세요~


 

이번 포스팅에서는 C# 문법 중에 람다 표현식이 있는데 람다식 사용 방법에 대해서 간단히 알아보도록 하겠습니다.


먼저, 람다식(Lambada Expression)C# 3.0부터 지원이 되었습니다.


람다식은 무명 함수를 표현하는데 사용되는 문법입니다. 람다식 표현 형태는 아래와 같습니다.

 

람다식 문법 : (입력 매개변수) => { 실행문장 로직 };


위와 같은 내용만을 보고는 도저히 이해가 쉽게 되지 않을 것을 알기 때문에 바로 예제를 통하여 이해해 보도록 하겠습니다.

 

아래 예제 코드는, 단순히 매개변수로 이름, 나이를 입력 받아 출력하는 람다식과, 단순 메시지를 매개변수로 입력 받아 출력하는 람다식 예제코드 입니다.


 

예제 코드


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace Test

{

    class Program

    {

        delegate void MyDelegate(string Name, int age);

 

        delegate string Message(string message);

 

        static void Main(string[] args)

        {

            MyDelegate student = (name, age) =>

            {

                Console.WriteLine("이름 : {0}, 나이 : {1}", name, age);

            };

            student("범범조조"27);

 

            Message message = (str) => { return str; };

 

            Console.WriteLine("이름 : {0}", message("범범조조"));

        }

    }

}

 

Colored by Color Scripter

cs

 

실행 결과



위에서 예제코드를 보시게 되면


단순히 입력 받은 문자들을 출력하는 표현식입니다


그렇다면 람다식에서는 좀 더 복잡하면서 다양한 표현식을 사용할 순 없을까요?


바로 아래 예제를 통하여 알아보도록 하겠습니다.

 

아래 예제코드는 간단한 학생 성적 관리 프로그램입니다.


예제코드


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace Test

{

    class Program

    {

        delegate void MyDelegate(string Name, int number);

 

        static void Main(string[] args)

        {

            MyDelegate grade = (string Name, int number) =>

            {

                if(number >= 90)

                {

                    Console.WriteLine("{0} 학생 A학점", Name);

                }

                else if(number >= 80 && number < 90)

                {

                    Console.WriteLine("{0} 학생 B학점", Name);

                }

                else if(number >= 70 && number < 80)

                {

                    Console.WriteLine("{0} 학생 C학점", Name);

                }

                else

                {

                    Console.WriteLine("{0} 학색 D학점", Name);

                }

            };

 

            grade("범범조조"100);

            grade("홍길동"50);

            grade("박효신"88);

        }

    }

}

 

Colored by Color Scripter

cs

 

실행 결과



 

이렇게 문 형식의 람다식도 가능하다는 것을 기억 하시고 람다식을 사용하시면 좋겠습니다.

 

감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY