[C# 문법] LINQ의 기본 : 2장 from, where, orderby, select 문 이용하여 LINQ 문 작성하기


안녕하세요.

 

앞서서 Linq의 기본 1장에서 간단히 C# 에서 Linq 구문을 사용하는 방법에 대해서 알아 보았는데요.

 

오늘은 그 응용 시간으로써, 학생 클래스를 선언하여 List에 학생들을 저장해서 여기서 성적이 80점 이상인 학생들을 원하는 컬럼들만 간추려서 조회하는 방법을 Linq 구문을 통해서 보여드리도록 하겠습니다.


 

예제 코드


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

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace Linq_Test

{

    class Program

    {

        static void Main(string[] args)

        {

            //List 객체 선언

            List<Student> _list = new List<Student>();

 

            //임시로 학생 생성

            for(int idx = 0; idx < 10; idx++)

            {

                Student stu = new Student();

                stu.Name = "학생" + "_" + idx;

                stu.Age = 20;

                stu.Grade = "2학년";

                stu.Score = 90 + idx;

 

                _list.Add(stu); //학생들을 List 저장

            }

 

            //Linq 구문을 통해서 성적이 95 이상인 학생 조회하기

            var query = from stu in _list

                        where stu.Score >= 95

                        orderby stu.Score ascending

                        select new

                        {

                            Name = stu.Name,

                            Score = stu.Score

                        };

 

            Console.WriteLine("-------------성적 95 이상인 학생들-------------");

            //출력하기

            foreach(var stu in query)

            {

                string msg = string.Format("학생 이름 :{0} 성적 : {1}", stu.Name, stu.Score);

                Console.WriteLine(msg);

            }

        }      

    }

 

    /// <summary>

    /// 학생 클래스 선언

    /// </summary>

    public class Student

    {

        public string Name { get; set; } //학생 이름

        public int Age { get; set; } //학생 나이

        public string Grade { get; set; } //학생 학년

        public int Score { get; set; } //학생 성적

    }

}

 

Colored by Color Scripter

cs

 

실행 결과



위와 같이 Linq 구문을 이용하여 성적이 95점 이상인 학생들을 출력해 보았습니다.

 

다음 포스팅에서는 GroupBy 구문에 대해서 알려 드리도록 하겠습니다.

 

감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY