title: Left join on two Lists and maintain one property from the right with Linq
body: <p>I have 2 lists of the <strong>same type</strong>. The left list:</p>
  
  <pre><code>var leftList = new List&lt;Person&gt;();
  leftList.Add(new Person {Id = 1, Name = "John", Changed = false});
  leftList.Add(new Person {Id = 2, Name = "Alice", Changed = false});
  leftList.Add(new Person {Id = 3, Name = "Mike", Changed = false});
  </code></pre>
  
  <p>And the right list:</p>
  
  <pre><code>var rightList = new List&lt;Person&gt;();
  rightList.Add(new Person {Id = 1, Name = "John", Changed = false});
  rightList.Add(new Person {Id = 3, Name = "Mike", Changed = true});
  rightList.Add(new Person {Id = 4, Name = "Joshi", Changed = true});
  </code></pre>
  
  <p>I want to do a <strong>left join</strong>, but using the value on the <code>Changed</code> property from the <strong>right</strong>. Like this:</p>
  
  <pre><code>{Id = 1, Name = "John", Changed = false}
  {Id = 2, Name = "Alice", Changed = false}
  {Id = 3, Name = "Mike", Changed = true} // &lt;-- true from the rightList
  </code></pre>
  
  <p>For this, I can't use simple <a href="https://stackoverflow.com/a/584840/5071902">Left Join</a>, and I cannot use a <a href="https://stackoverflow.com/a/3685033/5071902">Concat with GroupBy</a>.</p>
  
  <p>How can I do this with linq? Thanks.</p>