Notice
Recent Posts
Recent Comments
관리 메뉴

안까먹을라고 쓰는 블로그

[C#] LINQ 본문

Language/C#

[C#] LINQ

YawnsDuzin 2021. 12. 31. 14:02

 

반응형

LINQ란 "Language Integrated Query"를 축약한 것이며, 한국어로는 "언어로 통합된 쿼리"라고 말할 수 있습니다.

람다식과 마찬가지로 C#3.0부터 도입된 기능입니다.

LINQ를 사용하면 객체, 데이터, XML 과 같은 다양한 데이터를 표준화된 방법으로 처리할 수 있습니다.

쿼리연산자(Ex) Select, Count, Where, ToArray, ToList 등..)를 이용하여, 입력데이터를 열거, 필터링등을 할 수 있습니다.

쿼리 연산자 실행 형태 설명
Where 지연실행 조건에 따라 값의 시퀀스를 필터링 처리한다.
Skiip 지연실행 시퀀스 안에 지정된 개수만큼의 요소를 건너뛰고 남은 요소를 반환한다.
SkipWhile 지연실행 지정된 조건이 만족되는 동안에 시퀀스의 요소를 건너뛰고 남은 요소를 반환한다.
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 즉시실행 지정한 요소가 시퀀스에 포함돼 있는지 판단한다.
SequenceEqual 즉시실행 두 개의 시퀀스가 같은지 여부를 판단한다.
ToArray 즉시실행 시퀀스로 배열을 생성한다.
ToDictionary 즉시실행 시퀀스로 Dictionary<TKey, TValue>를 생성한다.
ToList 즉시실행 시퀀스로 List<T>를 생성한다.
ToLookup 즉시실행 시퀀스로 LookUp<TKey, TElement>를 생성한다.

 

LINQ를 사용하려면, using System.Linq; 네임스페이스를 추가해줍니다.

 

 

반응형
Comments