Here's the sample syntax of the join clause:
- equals is a contextual keyword specifically for LINQ.
- In the on section the first rangeItem (a) Must come before the second rangeItem (b) . Otherwise the query will not compile.
- Internally for LINQ to objects the first collection is looped storing the hash for each Key. And then the second item is looped computing the hash and comparing it to the first item. So the output will contain order of the items in the first collection :)
This book is so much fun : Programming Microsoft LINQ in Microsoft .NET Framework 4