151 교차 조인은 단순히 두 세트의 데카르트 곱입니다. 그것에 대한 명시적인 조인 연산자가 없습니다. var combo = p에서 사람 자동차의 c에서 새로 선택 { p. 이름, c. 제조, c. 모델, c. 색상 }; — 스티브 모건 소스 2 from p in people from c in cars람다 표기법으로 어떻게 작성 합니까? — 스포츠 48 people.SelectMany(p => cars, (p, c) => new { ... }) — Iain Galloway
38 linq확장 메서드도 마찬가지입니다 . var names = new string[] { "Ana", "Raz", "John" }; var numbers = new int[] { 1, 2, 3 }; var newList=names.SelectMany( x => numbers, (y, z) => { return y + z + " test "; }); foreach (var item in newList) { Console.WriteLine(item); } — Rzv.im 소스
25 Steve의 답변에 따르면 가장 간단한 표현은 다음과 같습니다. var combo = from Person in people from Car in cars select new {Person, Car}; — 마크시다 드 소스
11 A Tuple는 데카르트 곱에 적합한 유형입니다. public static IEnumerable<Tuple<T1, T2>> CrossJoin<T1, T2>(IEnumerable<T1> sequence1, IEnumerable<T2> sequence2) { return sequence1.SelectMany(t1 => sequence2.Select(t2 => Tuple.Create(t1, t2))); } — 아모스 소스
6 연장 방법 : public static IEnumerable<Tuple<T1, T2>> CrossJoin<T1, T2>(this IEnumerable<T1> sequence1, IEnumerable<T2> sequence2) { return sequence1.SelectMany(t1 => sequence2.Select(t2 => Tuple.Create(t1, t2))); } 그리고 다음과 같이 사용하십시오. vals1.CrossJoin(vals2) — Denis 소스
from p in people from c in cars
람다 표기법으로 어떻게 작성 합니까?