var list1 = new int[] {1,2,3,4,5};
var list2 = new int[] {2,3};
var result = list1.SelectMany(l2=>list2, (l1,l2)=>new {l1,l2, sum=l1+l2})
.Where (x=>x.l1==x.l2)
.Select(x=> x);
The result is this:

And now here is the GroupJoin version which actually does a nice left join:
var groupJoinResult = list1
.GroupJoin(list2,
L1=>L1,
L2=>L2,
(l1, l2) => new {l1,l2}).Dump();
The result is this:
And finally to do a left join, use DefaultIfEmpty qualifier in inner query of select many, as shown in this stackoverflow q and a.
No comments:
Post a Comment