https://learn.microsoft.com/ko-kr/dotnet/csharp/linq/get-started/introduction-to-linq-queries
1. 기본
// The Three Parts of a LINQ Query:
// 1. Data source.
int[] numbers = [ 0, 1, 2, 3, 4, 5, 6 ];
// 2. Query creation.
// numQuery is an IEnumerable<int>
var numQuery =
from num in numbers
where (num % 2) == 0
select num;
// 3. Query execution.
foreach (int num in numQuery)
{
Console.Write("{0,1} ", num);
}
from 데이터 원본을 지정하고, where 절은 필터를 적용하고, 절은 select 반환된 요소의 형식을 지정
2. 쿼리 실행
- 지연실행
- 사용될때 생성되고 이전에는 생성되지 않는 것.
- 위 코드에서 Foreeach 가 호출되지 전까지 결과를 가지고 있지 않고 있다.
- 즉시 실행
- 소스 요소 범위에 대해 집계 함수를 수행하는 쿼리는 먼저 해당 요소를 반복해야 합니다. 이러한 쿼리의 예로 Count, Max, Average 및 First
var evenNumQuery =
from num in numbers
where (num % 2) == 0
select num;
int evenNumCount = evenNumQuery.Count();
- 모든 쿼리를 즉시 실행하고 그 결과를 캐시하기 위해 ToList 또는 ToArray 메서드
List<int> numQuery2 =
(from num in numbers
where (num % 2) == 0
select num).ToList();
// or like this:
// numQuery3 is still an int[]
var numQuery3 =
(from num in numbers
where (num % 2) == 0
select num).ToArray();
'C# > LINQ' 카테고리의 다른 글
표준 쿼리 연산자 : LINQ를 통한 데이터 변환(C#) (1) | 2024.01.04 |
---|---|
확장명 메서드 (0) | 2024.01.03 |
C# LINQ 쿼리를 작성하여 데이터 쿼리 (0) | 2024.01.01 |
쿼리 식 기본 사항 (0) | 2023.12.30 |