[C# 문법] C# Linq 이용하여 DataTable 에서 특정 컬럼들 List로 가져오는 방법


 

안녕하세요.

 

오늘은 C# 문법에서 Linq를 이용하여 DataTable 에서 사용자가 원하는 특정 컬럼들을

List로 가져오는 방법에 대해서 알려드리려고 합니다.

 

해당 문법을 알게 되신다면, DataTable 구문을 사용함에 있어서 더 폭 넓게 활용 가능하실거라 생각합니다.

 

그럼 바로 예제 코드를 통해 알려드리도록 하겠습니다.


 

예제 코드 시나리오는 다음과 같습니다.

 

DataTable 객체를 하나 선언하여 해당 객체에 Student 관련 내용의 테이블을 생성해 데이터를 넣도록 하겠습니다.

 

그리고, 해당 테이블에서 Linq 구문을 이용하여 특정 컬럼들을 가져와서 List로 변형해 보도록 하겠습니다.

 

예제 코드


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

using System;

using System.Collections.Generic;

using System.Data;

using System.Linq;

using System.Reflection;

using System.Text;

using System.Threading.Tasks;

 

namespace test123

{

    class Program

    {

        static void Main(string[] args)

        {

            //  DataTable dt = new DataTable("Branches");  

            DataTable dt = new DataTable("Student");

            dt.Columns.Add("StudentId"typeof(Int32));

            dt.Columns.Add("StudentName"typeof(string));

            dt.Columns.Add("Address"typeof(string));

            dt.Columns.Add("MobileNo"typeof(string));

            //Data  

            dt.Rows.Add(1"Manish""Hyderabad""0000000000");

            dt.Rows.Add(2"Venkat""Hyderabad""111111111");

            dt.Rows.Add(3"Namit""Pune""1222222222");

            dt.Rows.Add(4"Abhinav""Bhagalpur""3333333333");

 

            string address = string.Empty;

            string Name = string.Empty;

 

            var query = (from table in dt.AsEnumerable()

                         select new

                         {

                             address = table.Field<string>("Address"),

                             Name = table.Field<string>("StudentName")

 

                         }).ToList();

 

            foreach(var str in query)

            {

                Console.WriteLine("Address : {0}, StudentName : {1}", str.address, str.Name);

            }

 

           // DataTable dtt = LinqQueryToDataTable(query);

        }

    }

}

 

Colored by Color Scripter

cs

 

실행 결과



 

위와 같이 Linq를 이용하여 원하는 컬럼은 List로 받아와서 제대로 출력되는 것 까지 확인하였습니다.

 

감사합니다~~ 


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY