c# 쿼리 예제

LINQ에서 쿼리 변수는 쿼리 결과 대신 쿼리를 저장하는 모든 변수입니다. 좀 더 구체적으로 말하자면, 쿼리 변수는 항상 foreach 문또는 IEnumerator.MoveNext 메서드에 대한 직접 호출에서 반복될 때 요소 시퀀스를 생성하는 열거형 형식입니다. 굉장한 조언, 쿼리 구문이 실제로 가치를 추가 할 때 좋은 구체적인 예 (나는 어쨌든 쿼리 구문의 캠프에 있어,하지만 이것은 정말 구체적입니다!). 치트 시트에 대한 링크 (http://www.bartdesmet.net/blogs/bart/archive/2008/08/30/c-3-0-0-0-query-expression-translation-cheat-sheet.aspx)는 나를 위해 해결되지 않습니다. 다른 URL이 있습니까? 일반적으로 원본 데이터는 동일한 종류의 요소 시퀀스로 논리적으로 구성됩니다. 예를 들어 SQL 데이터베이스 테이블에는 행 시퀀스가 포함되어 있습니다. XML 파일에는 XML 요소의 “시퀀스”가 있습니다(트리 구조에서 계층적으로 구성되더라도). 메모리 내 컬렉션에는 일련의 개체가 포함됩니다. 이 문서에서는 C#의 쿼리 식과 관련된 기본 개념을 소개합니다. LINQ는 쿼리와 메서드 구문이라는 두 가지 구문 적 맛으로 제공됩니다.

거의 동일한 작업을 수행할 수 있지만 쿼리 구문은 C#내의 거의 새 언어이지만 메서드 구문은 일반 C# 메서드 호출과 동일하게 보입니다. 이 자습서에서는 다음 문서에서 LINQ에서 사용할 수 있는 모든 가능한 작업에 대해 설명 할 때 주로 메서드 구문을 사용 합니다. 반면에 다음 두 예제에서는 각각 쿼리로 초기화되더라도 쿼리 변수가 아닌 변수를 보여 준다. 그들은 결과를 저장하기 때문에 쿼리 변수가 아닙니다 : 나는 두 구문이 양호하고 다른 경우만큼 차이가 크지 않다는 것을 인정합니다. 그러나 쿼리 구문은 여전히 더 좋습니다. 쿼리 변수는 쿼리 구문 또는 메서드 구문또는 둘의 조합으로 표현되는 쿼리를 저장할 수 있습니다. 다음 예제에서 쿼리MajorCities2는 모두 쿼리 변수입니다: 이 소스 시퀀스를 감안할 때 쿼리는 세 가지 중 하나를 수행할 수 있습니다. 내가 메소드 체인 구문을 고수하는 이유.