반응형
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
반응형
'Language > C#' 카테고리의 다른 글
One or more types required to compile a dynamic expression cannot be found. Are you missing reference? (2) | 2014.04.22 |
---|---|
C# DataGridView excel export 시 HRESULT: 0x800A03EC 에러 (2) | 2014.01.14 |
ASP.NET(C#) 오라클(Oracle) 연결 시 BadImageFormatException 에러 발생 (0) | 2013.09.16 |
C# exe 파일(Release 버전) 생성 (6) | 2013.08.08 |
C# XML 파싱 예제(How to parse XML in C#) (2) | 2013.07.10 |
C# AES128/AES256 암호화 복호화(Rijndael) (1) | 2013.04.09 |
[C#] Microsoft.ACE.OLEDB.12.0' 공급자는 로컬 컴퓨터에 등록할 수 없습니다. (0) | 2013.03.23 |
ASP.NET 쿠키(cookie), ViewState 사용 방법 (1) | 2013.01.31 |
ASP.NET Page.IsPostBack (0) | 2013.01.31 |
ASP.NET 그리드뷰(GridView) (0) | 2013.01.30 |