2011-03-18 4 views

답변

3

첫 번째 표기법은 일반적으로 "쿼리 구문"이라고하며, 두 번째 방법 구문 (또는 도트 표기법 또는 람다 구문)은 모두 정확히 동일한 코드로 컴파일되지만 일반적으로 이미 언급 한 것처럼 두 개는 더 간결합니다. 대부분의 시나리오에서 점 표기법이지만 특히 여러 개의 열거 형에 가입하거나 그룹화하면 쿼리 구문이 실제로 빛납니다.

또한 LINQ Query Syntax versus Method Syntax (C#) 체크 아웃 : 소개 LINQ에서

대부분의 쿼리 문서는 C# 3.0에서 도입 된 선언적 쿼리 구문을 사용하여 쿼리로 식을 작성됩니다. 그러나 .NET 공용 언어 런타임 (CLR)에는 쿼리 구문 자체가 없습니다. 따라서 컴파일 시간이 일 때 쿼리 식은 이며 CLR 이 이해할 수있는 것으로 변환됩니다. 즉 메서드 호출입니다. 이러한 메서드는 표준 쿼리 연산자라고하며 과 같은 이름을 갖습니다. 여기서 Select, GroupBy, Join, Max, Average 등이 있습니다. 쿼리 구문 대신 메서드 구문을 사용하여 직접 이라고 부를 수 있습니다.

일반적으로 쿼리 구문 을 사용하는 것이 좋습니다. 일반적으로 더 간단하고 더 읽기가 쉽기 때문에 입니다. 그러나 메서드 구문과 쿼리 구문 사이에는 의미가 없습니다.

3

아무것도

첫 번째 것은 LINQ 표기법을 사용하고 두 번째 표기법은 확장 메서드 표기법을 사용합니다. 둘 다 동일한 것을 수행합니다.

더 기쁘게 보이는 것을 사용하십시오. :)

3

차이는 없습니다. 하나는 위임자를 사용하는 대신 동일한 결과를 얻기 위해 SQL과 비슷한 언어 확장입니다.

0

이미 알 수있는 첫 번째 LINQ 표기법 및 두 번째 람다 함께 확장 메서드를 사용합니다. 적은 코드 유지 보수를 위해 초를 사용하십시오. 그러나 내부 코드 또는 성능의 유사성을 생각하면 간단히 중지 시계를 사용하고이 코드를 100000 번 실행하고 가장 빠른 것을 선택하십시오. 컴파일 된 코드가 비슷하다면 거의 같은 시간을 갖게 될 것입니다.

관련 문제