728x90
반응형
Language Integrated Query의 준말로
C#의 다양한 데이터 소스(List, 배열 등등)를 공통된 방식으로 처리할 수 있는 통합 쿼리 기능이다.
따라서 LINQ의 문법이나 메소드 등은 다른 데이터 소스에서도 사용 가능하다.
LINQ의 특징 중에 하나로 지연 실행이라는 것이 있는데,
정의될 때 계산하는 것이 아닌 계산이 직접 실행되는 시점에서 계산이 실행된다.
제대로 이해하지는 못했지만, 진짜 필요할 때 계산을 실행하는 것으로 성능을 향상시킨다는 아이디어 같다.
LINQ에는 다음 두 가지 형태가 있다.
int[] numbers = { 5, 12, 3, 20, 7 };
// 1
var result = numbers.Where(n => n > 10)
.OrderBy(n => n);
// 2
var result = from n in numbers
where n > 10
orderby n;
// 이때 n은 일종의 임시변수로, 각 리스트의 요소가 순서대로 들어옴
// 미리 정의할 필요는 없다.
아래는 LINQ 메소드의 예로 앞서 말했듯이 List나 배열 등에도 활용가능한 메소드이다.
더보기
Where();
필터링, 조건
Select();
원하는 형태로 변환
OrderBy(); OrderByDescending();
오름차순 / 내림차순 정렬
GroupBy();
부여된 키를 기준으로 그룹화
Sum(); Max(); Min(); Average();
Any(); All();
조건 검사
각각 or과 and
Take(); First();
맨 앞에서 몇개 / 맨 앞 한개
반응형
'C# > 노트' 카테고리의 다른 글
| C# 배열과 문자열 (0) | 2025.12.04 |
|---|---|
| C# 조건문과 반복문 (0) | 2025.12.03 |
| C# Hello World!와 입출력 (0) | 2025.12.02 |