Language/C#
C# 링큐(LINQ) 사용 예제
준콩이
2013. 8. 8. 15:50
반응형
LINQ(Language INtegrated Query)
링큐는 DB, XML, Object, Text 등 프로그래밍 언어에 관계없이 독립적으로 동작하는 쿼리문입니다.
아래 소스는 1, 2, 3, 4, 5, 6, 7, 8 의 값을 가진 배열에서 4보다 큰 값을 불러온 후 올림차순(descending) 정렬하여 출력하는 소스입니다.
※ 여기서 where절에 4보다 큰 값이라는 조건은 let 절에서 계산하여 저장한 변수의 값으로 적용하였습니다.
예제 소스
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int[] array = { 1, 2, 3, 4, 5, 6, 7, 8 }; /* from, select, orderby, group은 일반적으로 DB에서 사용하는 sql 쿼리문과 사용되는 의미가 같습니다. */ var elements = from element in array /* let 키워드를 사용하면 임의로 계산한 결과를 저장하여 where절에서 편리하게 사용할 수 있고 여러번 계산하지 않아도 되므로 성능적으로도 향상시킬 수 있습니다. */ let exampleLet = 1+ 3 orderby element descending //default는 ascending(생략 가능) where element > exampleLet select element; /* LINQ를 사용하여 나온 결과를 변환하거나 프로젝션 하려면 foreach문으로 루프를 통해 결과를 반영할 수 있습니다. */ foreach (var element in elements) { Console.Write(element); Console.Write(" "); } Console.WriteLine(); } } }
실행 결과
아래의 MSDN에 있는 LINQ글을 참조하시면 더 많은 예제와 자세한 내용을 확인할 수 있습니다.
MSDN LINQ 참조 - http://msdn.microsoft.com/ko-kr/library/bb397926.aspx
반응형