참고 : Charlie Calvert 아래에 101 개의 LINQ 샘플이 올바른 코드로 업데이트되었습니다.MSDN의 101 LINQ 샘플에서이 코드에 버그가 있습니까? (업데이트 : 고정)
MSDN Visual C# 개발자 센터에는 101 LINQ 샘플이라는 섹션이 있습니다. Bing 검색을 통해이를 발견했습니다. SelectMany - Compound from 1에 대한
코드는 다음과 같습니다
public void Linq14() {
int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 };
int[] numbersB = { 1, 3, 5, 7, 8 };
var pairs =
from a in numbersA,
b in numbersB
where a < b
select new {a, b};
Console.WriteLine("Pairs where a < b:");
foreach (var pair in pairs) {
Console.WriteLine("{0} is less than {1}", pair.a, pair.b);
}
}
그러나 이 코드는를 컴파일되지 않습니다. 이 MSDN의 예 또는 버그인지 잘 모르겠어요
var pairs =
from a in numbersA
from b in numbersB
where a < b
select new {a, b};
을 : 나는 from a in numbersA,
의 끝에서 쉼표를 제거하고 대신 b in numbersB
앞에 from
을 추가하는 경우, 그것은 컴파일하고 잘 작동 것으로 나타났습니다 가능한 경우이 구문을 지원하지 않는 C# 및 .NET 버전을 실행하고 있습니다.
101 LINQ 샘플 웹 사이트의 맨 위에있는 탐색 경로를 보면 "미래 버전"이라고 표시됩니다. 이것은 C#/.NET의 이후 버전이 LINQ 구문에서 from
대신 쉼표를 사용하도록 지원함을 나타 냅니까?
나는 .NET 3.5 SP1과 비주얼 스튜디오 2008 표준을 사용하고 있습니다.
을. 좋은 직장과 업데이트 주셔서 감사합니다! –