[C# 문법] C# Linq 이용하여 DataTable 에서 특정 컬럼들 List로 가져오는 방법
- C#/C# 문법
- 2019. 12. 28. 01:00
안녕하세요.
오늘은 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); } } }
|
실행 결과
위와 같이 Linq를 이용하여 원하는 컬럼은 List로 받아와서 제대로 출력되는 것 까지 확인하였습니다.
감사합니다~~
'C# > C# 문법' 카테고리의 다른 글
[C# 문법] C# 제너릭 메서드란? 제너릭 메서드 (Generic Method) 사용방법 (0) | 2019.12.30 |
---|---|
[C# 문법] C# List를 DataTable로 변환하는 방법 (0) | 2019.12.29 |
[C# 문법] C# enum 열거형 반복문(foreach문) 사용하기 (0) | 2019.12.13 |
[C# 문법] C# LIST OrderBy , ThenBy 이용하여 정렬하기 (0) | 2019.12.08 |
[C# 문법] C# Linq를 이용하여 문자열 자르기 (Substring, String.Join) (0) | 2019.10.26 |
이 글을 공유하기