LINQ-쿼리 연산자

쿼리 패턴을 형성하는 확장 메서드 집합을 LINQ 표준 쿼리 연산자라고합니다. LINQ 쿼리 식의 구성 요소 인 이러한 연산자는 필터링, 정렬, 프로젝션, 집계 등과 같은 다양한 쿼리 기능을 제공합니다.

LINQ 표준 쿼리 연산자는 기능에 따라 다음과 같이 분류 할 수 있습니다.

  • 필터링 연산자
  • 조인 연산자
  • 프로젝션 작업
  • 연산자 정렬
  • 그룹화 연산자
  • Conversions
  • Concatenation
  • Aggregation
  • 수량 자 작업
  • 파티션 작업
  • 세대 운영
  • 작업 설정
  • Equality
  • 요소 연산자

필터링 연산자

필터링은 특정 조건을 충족하는 요소 만 선택하도록 결과 집합을 제한하는 작업입니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
어디 조건 자 함수를 기반으로 값 필터링 어디 어디
OfType 지정된 유형이 될 수있는 기능에 따라 값 필터링 해당 없음 해당 없음

조인 연산자

조인은 직접적인 방식으로 관계를 추적하기 어려운 데이터 소스를 대상으로하는 작업을 의미합니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
어울리다 연산자는 일치하는 키를 기준으로 두 시퀀스를 결합합니다. 조인…에…에… 같음… x에서…, y에서… 여기서 xa = ya
GroupJoin 두 시퀀스를 결합하고 일치하는 요소 그룹화 …에…에… 같음…에… 그룹 가입… In… On…

프로젝션 작업

투영은 객체가 특정 속성 만 가진 완전히 새로운 형태로 변형되는 작업입니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
고르다 연산자는 변환 함수를 기반으로 값을 투영합니다. 고르다 고르다
SelectMany 연산자는 변환 함수를 기반으로하는 값 시퀀스를 투영하고 단일 시퀀스로 평평하게 만듭니다. 여러 from 절 사용 여러 From 절 사용

연산자 정렬

정렬 작업을 사용하면 하나 이상의 속성을 기준으로 시퀀스 요소를 정렬 할 수 있습니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
주문 연산자는 오름차순으로 값을 정렬합니다. 주문 주문
OrderByDescending 연산자는 내림차순으로 값을 정렬합니다. orderby ... 내림차순 정렬 기준 ... 내림차순
ThenBy 오름차순으로 2 차 정렬을 실행합니다. 주문 …, … 주문 …, …
ThenByDescending 내림차순으로 2 차 정렬을 실행합니다. orderby…,… 내림차순 …,… 내림차순
역전 컬렉션의 요소 순서를 반대로 수행합니다. 해당 없음 해당 없음

그룹화 연산자

운영자는 공통 공유 속성을 기반으로 데이터를 일부 그룹에 넣습니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
GroupBy 항목 시퀀스를 그룹으로 구성하고 IGrouping <key, element> 형식의 IEnumerable 컬렉션으로 반환합니다. 그룹… 별 또는 그룹 별… 별… 그룹… 기준……
찾아보다 일련의 키 쌍이 반환되는 그룹화 작업 실행 해당 없음 해당 없음

전환

연산자는 입력 개체의 유형을 변경하고 다양한 응용 분야에서 사용됩니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
AsEnumerable IEnumerable <T> 형식의 입력을 반환합니다. 해당 없음 해당 없음
AsQueryable (일반) IEnumerable은 (일반) IQueryable로 변환됩니다. 해당 없음 해당 없음
캐스트 컬렉션의 요소를 지정된 형식으로 캐스팅합니다. 명시 적으로 입력 된 범위 변수를 사용하십시오. 예 : 단어의 str 문자열에서 …에서…
OfType 특정 유형으로 캐스트 할 수있는 기능에 따라을 기준으로 값을 필터링합니다. 해당 없음 해당 없음
ToArray 쿼리 실행을 강제하고 컬렉션을 배열로 변환합니다. 해당 없음 해당 없음
ToDictionary 키 선택기 함수를 기반으로 요소를 Dictionary <TKey, TValue>로 설정하고 LINQ 쿼리를 강제 실행합니다. 해당 없음 해당 없음
목록으로 컬렉션을 List <T>로 변환하여 쿼리를 강제 실행합니다. 해당 없음 해당 없음
찾아보다 쿼리를 강제 실행하고 키 선택기 함수를 기반으로 Lookup <TKey, TElement>에 요소를 넣습니다. 해당 없음 해당 없음

연쇄

두 시퀀스의 연결을 수행하며 중복을 제거하지 않는다는 점을 제외하면 작업 측면에서 Union 연산자와 매우 유사합니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
Concat 하나의 시퀀스를 형성하기 위해 두 개의 시퀀스가 ​​연결됩니다. 해당 없음 해당 없음

집합

원하는 집계 유형을 수행하고 LINQ에서 사용자 지정 집계를 만들 수 있습니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
골재 컬렉션의 값에 대해 작동하여 사용자 지정 집계 작업을 수행합니다. 해당 없음 해당 없음
평균 값 모음의 평균 값이 계산됩니다. 해당 없음 Aggregate… In… Into Average ()
카운트 컬렉션 내에서 조건 자 함수를 충족하는 요소를 계산합니다. 해당 없음 Aggregate… In… Into Count ()
LonCount 거대한 컬렉션 내에서 조건 자 함수를 충족하는 요소를 계산합니다. 해당 없음 Aggregate… In… Into LongCount ()
최대 컬렉션 내 최대 가치 찾기 해당 없음 Aggregate… In… Into Max ()
최소 컬렉션에 존재하는 최소값 찾기 해당 없음 Aggregate… In… Into Min ()
합집합 컬렉션 내 값의 합계 찾기 해당 없음 Aggregate… In… Into Sum ()

수량 자 작업

이러한 연산자는 시퀀스 내의 일부 또는 모든 요소가 특정 조건을 충족하는 경우 부울 값, 즉 True 또는 False를 반환합니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
모두 시퀀스의 모든 요소가 술어 조건을 충족하는 경우 'True'값을 리턴합니다. 해당 없음 집계… In… Into All (…)
어떤 동일한 요소가 지정된 조건을 만족하는지 시퀀스를 검색하여 결정합니다. 해당 없음 Aggregate… In… Into Any ()
포함 시퀀스에 특정 요소가 포함되어 있지 않은 경우 시퀀스에 특정 요소가 있음을 발견하면 'True'값을 반환하고 'false'값을 반환합니다. 해당 없음 해당 없음

파티션 연산자

시퀀스의 요소를 재배 열한 다음 그중 하나를 반환하지 않고 입력 시퀀스를 두 개의 개별 섹션으로 나눕니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
건너 뛰기 시퀀스 내에서 지정된 수의 요소를 건너 뛰고 나머지 요소를 반환합니다. 해당 없음 건너 뛰기
SkipWhile 건너 뛸 요소의 수가 부울 조건에 의해 지정된다는 점을 제외하고 건너 뛰기와 동일합니다. 해당 없음 동안 건너 뛰기
취하다 시퀀스에서 지정된 수의 요소를 가져오고 나머지 요소는 건너 뜁니다. 해당 없음 취하다
TakeWhile 취할 요소의 수가 부울 조건에 의해 지정된다는 점을 제외하고 Take와 동일 해당 없음 잠시

세대 운영

새로운 값 시퀀스는 세대 연산자에 의해 생성됩니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
DefaultIfEmpty 빈 시퀀스에 적용하면 시퀀스 내에 기본 요소를 생성합니다. 해당 없음 해당 없음
빈 시퀀스 값을 반환하며 가장 간단한 세대 연산자입니다. 해당 없음 해당 없음
범위 정수 또는 숫자 시퀀스가있는 컬렉션을 생성합니다. 해당 없음 해당 없음
반복 특정 길이의 반복 된 값을 포함하는 시퀀스를 생성합니다. 해당 없음 해당 없음

작업 설정

집합 연산에는 4 개의 연산자가 있으며 각각 다른 기준에 따라 결과를 산출합니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
뚜렷한 중복 데이터가있는 경우 필터링하여 컬렉션에서 고유 한 값 목록을 생성합니다. 해당 없음 뚜렷한
두 컬렉션의 값을 비교하고 다른 컬렉션에없는 한 컬렉션의 값을 반환합니다. 해당 없음 해당 없음
교차 두 개의 개별 컬렉션에서 동일하지 않은 값 집합을 반환합니다. 해당 없음 해당 없음
노동 조합 서로 다른 두 컬렉션의 콘텐츠를 중복 콘텐츠없이 단일 목록으로 결합 해당 없음 해당 없음

평등

두 문장 (열거 가능)을 비교하여 정확히 일치하는지 여부를 결정합니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
SequenceEqual 두 시퀀스가 ​​서로 동일한 것으로 확인되면 부울 값이 생성됩니다. 해당 없음 해당 없음

요소 연산자

DefaultIfEmpty를 제외하고 나머지 8 개의 표준 쿼리 요소 연산자는 모두 컬렉션에서 단일 요소를 반환합니다.

예시보기

운영자 기술 C # 쿼리 식 구문 VB 쿼리 표현식 구문
ElementAt 컬렉션의 특정 인덱스 내에있는 요소를 반환합니다. 해당 없음 해당 없음
ElementAtOrDefault 특정 인덱스가 범위를 벗어난 경우 기본값을 반환한다는 점을 제외하면 ElementAt과 동일합니다. 해당 없음 해당 없음
먼저 컬렉션 내의 첫 번째 요소 또는 특정 조건을 충족하는 첫 번째 요소를 검색합니다. 해당 없음 해당 없음
FirstOrDefault 이러한 요소가없는 경우 기본값도 반환한다는 점을 제외하면 First와 동일합니다. 해당 없음 해당 없음
마지막 컬렉션에있는 마지막 요소 또는 특정 조건을 충족하는 마지막 요소를 검색합니다. 해당 없음 해당 없음
LastOrDefault Last와 동일하지만 이러한 요소가없는 경우에도 기본값을 반환한다는 점이 다릅니다. 해당 없음 해당 없음
단일 컬렉션의 고독한 요소 또는 특정 조건을 충족하는 고독한 요소를 반환합니다. 해당 없음 해당 없음
SingleOrDefault 단일 요소가없는 경우 기본값을 반환한다는 점을 제외하면 Single과 동일합니다. 해당 없음 해당 없음
DefaultIfEmpty 컬렉션 또는 목록이 비어 있거나 null 인 경우 기본값을 반환합니다. 해당 없음 해당 없음