-
LINQ의 기초C# 예제 공부일기 2020. 7. 28. 19:38
LINQ는 Language-INtegrated Query의 약자로 C#에 통합된 데이터 질의 기능이다. SQL과 같은 Query 언어는 데이터베이스에서 사용되던 언어인데, 이를 C#에 도입한 것이다. LINQ를 사용하면 컬렉션에서 데이터를 다루는 방법이 훨씬 간단해진다.
var sortedEven = from item in data where item % 2 ==0 orderby item select item;
위 문장을 보면 from, where, orderby, select 등의 LINQ연산자가 사용되었다.
"data 컬렉션에 있는 데이터 item으로부터 짝수인 item을 item값을 기준으로 정렬해서 선택한다. "
는 의미를 가진다. LINQ를 사용하려면 원본 데이터가 IEnumerable이나 IEnumerable<T> 인터페이스를 상속하는 형식이어야 한다. 배열과 리스트 등의 컬렉션들은 모두 여기에 해당한다.
다음 예제는 List에서 짝수 만 꺼내서 출력하는 프로그램을 기존 방법과 LINQ를 사용하는 두가지 방법을 보여준다.
static void Main(string[] args) { List<int> data = new List<int> { 123, 45, 12, 89, 456, 1, 4, 74, 46 }; List<int> IsSortedEven = new List<int>(); foreach (var item in data) { if (item % 2 == 0) IsSortedEven.Add(item); } IsSortedEven.Sort(); Console.WriteLine("조건문과 foreach를 사용한 결과 :"); foreach (var item in IsSortedEven) { Console.Write(item + " "); } Console.WriteLine(); var sortedeven = from item in data where item % 2 == 0 orderby item select item; Console.WriteLine("LINQ를 사용한 결과 :"); foreach (var item in sortedeven) Console.Write(item + " "); Console.WriteLine(); }
'C# 예제 공부일기' 카테고리의 다른 글
LINQ의 결과를 리스트나 배열로 반환 (0) 2020.07.28 LINQ를 이용한 조건 검색과 정렬 (0) 2020.07.28 List<T> 에서 Predicate<T> 델리게이트 활용 (0) 2020.07.28 Predicate<T> 델리게이트 (0) 2020.07.28 람다식(Lambda Expression) (0) 2020.07.22