쿼리 연산자 | 실행형태 | 설명 |
Where | 지연실행 | 조건에 따라 값의 시퀀스를 필터링 처리 |
Skip | 시퀀스 안에 지정된 개수만큼의 요소를 건너뛰고 남은 요소를 반환 | |
SkipWhere | 지정된 조건이 만족되는 동안에 시퀀스의 요소를 건너뛰고 남은 요소를 반환 | |
Take | 시퀀스의 가장 앞부분부터 요소를 지정된 개수만큼 반환 | |
TakeWhile | 지정된 조건이 만족되는 동안에 시퀀스에서 요소를 반환 | |
DefaultIfEmpty | 지정한 시퀀스의 요소를 반환, 시퀀스가 비어 있을 경우에는 형식 매개변수를 기본값으로 반환 | |
Select | 시퀀스에 있는 각 요소를 새로운 형으로 사상 | |
SelectMany | 시퀀스에 있는 각 요소를 IEnumerable<T>로 사상하고 그 결과로 나온 시퀀스를 하나의 시퀀스로 평탄화*함 | |
GroupBy | 지정된 키 셀렉터 함수에 따라 시퀀스에 있는 요소를 그룹화함 | |
GroupJoin | 키가 같은지 여부에 따라 두 개의 시퀀스 요소를 서로 관련 짓고 그 결과를 그룹화함 | |
Join | 일치하는 키에 따라 두 개의 시퀀스 요소를 서로 관련 짓는다 | |
Concat | 두 개의 시퀀스를 연결한다 | |
Zip | 지정된 함수를 두 개의 시퀀스에 대응되는 요소에 적용하고 하나의 시퀀스를 생성 | |
OrderBy | 시퀀스 요소를 키에 맞춰 오름차순으로 정렬 | |
OrderByDescending | 시퀀스 요소를 키에 맞춰 내림차순으로 정렬 | |
ThenBy | 정렬한 결과를 또 다른 키에 맞춰 오름차순으로 배치 | |
ThenByDescending | 정렬한 결과를 또 다른 키에 맞춰 내림차순으로 배치 | |
Reverse | 시퀀스 요소의 순서를 반전 | |
Cast | 시퀀스 요소를 지정된 형으로 형변환함 | |
OfType | 지정된 형만을 시퀀스에서 꺼내서 형변환함 | |
Distinct | 시퀀스에서 중복되지 않는 요소의 목록을 반환 | |
Except | 두 개의 시퀀스의 차집합을 생성 | |
Union | 두 개의 시퀀스의 합집합을 생성 | |
Intersect | 두 개의 시퀀스의 곱집합을 생성 | |
First | 즉시 실행 | 시퀀스의 첫 요소를 반환 |
FirstOrDefault | 시퀀스의 첫 요소를 반환하고, 시퀀스에 요소가 포함되어 있지 않을 경우에는 기본값으로 반환 | |
Last | 시퀀스의 마지막 요소를 반환 | |
LastOrDefault | 시퀀스의 마지막 요소를 반환하고, 시퀀스에 요소가 포함되어 있지 않을 경우에는 기본값으로 반환 | |
ElementAt | 시퀀스 안에서 지정된 인덱스 위치에 있는 요소를 반환 | |
ElementAtOrDefault | 시퀀스 안에서 지정된 인덱스 위치에 있는 요소를 반환하고, 인덱스가 시퀀스의 범위를 벗어날 경우에는 기본값을 반환 | |
Single | 시퀀스에서 유일한 요소를 반환 | |
SingleOrDefault | 시퀀스에서 유일한 요소를 반환하고, 시퀀스가 비었을 경우에는 기본값을 반환 | |
Count | 시퀀스에 있는 요소의 개수를 반환 | |
LongCount | 시퀀스에 있는 요소의 개수를 long형으로 반환 | |
Average | 입력 시퀀스의 평균값을 계산 | |
Max | 시퀀스 요소의 최대값을 반환 | |
Min | 시퀀스 요소의 최소값을 반환 | |
Sum | 시퀀스 요소 전체의 합을 반환 | |
Aggregate | 시퀀스에 누적기 함수를 적용 | |
All | 시퀀스의 모든 요소가 조건을 만족하는지 판단 | |
Any | 시퀀스에 해당 요소가 포함되어 있는지 판단 | |
Contains | 지정한 요소가 시퀀스에 포함되어 있는지 판단 | |
SquenceEqual | 두 개의 시퀀스가 같은지 여부를 판단 | |
ToArray | 시퀀스로 배열을 생성 | |
ToDitctionary | 시퀀스로 Dictionary<TKey, TValue>를 생성 | |
ToList | 시퀀스로 List<T>를 생성 | |
ToLookup | 시퀀스로 Lookup<TKey, TElement>를 생성 |
*평탄화란?
시퀀스에 있는 각 요소를 IEnumerable<T>로 사상하고, 그 결과로 구한 중첩된 시퀀스를 하나의 평탄한 시퀀스로 만드는 작업을 말함
'스터디 > C#' 카테고리의 다른 글
C# 대리자(Delegate)의 진화 (0) | 2019.08.17 |
---|---|
20190817 스터디 질문 (1) | 2019.08.17 |
LINQ(Language Integrated Query) (0) | 2019.08.16 |
람다식(Lamda) (0) | 2019.08.16 |
정적메서드에서는 자기 자신의 인스턴스 메서드 호출불가 (0) | 2019.08.14 |