🔍 LINQ(Language Integrated Query)
🤔 LINQ?
- .NET 프레임워크에서 제공되는 쿼리 언어 확장 → 코드에서 쿼리문을 던질 수 있다!!
- 데이터 소스(컬렉션, 데이터 베이스, 배열 등...)에서 쿼리문을 통해 데이터를 조작, 사용할 수 있다.
- 데이터 베이스 쿼리와 유사한 방식으로 데이터를 필터링, 정렬, 그룹화, 조인 등 다양한 작업을 수행할 수 있다.
- LINQ는 객체, 데이터베이스, XML 문서 등 다양한 데이터 소스를 지원한다.
▪️ 구조
var result = from 변수 in 데이터소스
[where 조건식]
[orderby 정렬식 [, 정렬식...]]
[select 식];
var
키워드는 결과 값의 자료형을 자동으로 추론한다.
from
절에서는 데이터 소스를 지정한다. → foreach와 유사하다!
where
절은 선택적으로 사용하며, 조건식을 지정하여 데이터를 필터링한다.
orderby
절은 선택적으로 사용하며, 정렬 방식을 지정한다.
select
절은 선택적으로 사용하며, 조회할 데이터를 지정한다.
▪️ 예시)
// 데이터 소스 정의 (컬렉션)
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
// 쿼리 작성 (선언적인 구문)
// 짝수인 numbers만 저장하기
var evenNumbers = from num in numbers
where num % 2 == 0
select num;
// 쿼리 실행 및 결과 처리
foreach (var num in evenNumbers)
{
Console.WriteLine(num);
}