title: How to do a GroupJoin based on other predicate than equality?
body: <p>I want to do a <code>GroupJoin</code> between two collections but based on some other predicate than equality. For example, if I have one collection with items, each containing a range property, I want to correlate each of them with items from another collection having some property with a value in that range.
  Can this be accomplished with <a href="https://msdn.microsoft.com/en-us/library/system.linq.enumerable.groupjoin%28v=vs.95%29.aspx" rel="nofollow noreferrer">GroupJoin</a> or any other <code>LINQ</code> method?
  <img src="https://i.stack.imgur.com/3A7n0.png" alt="Two collections with resulting groups"></p>