title: LINQ Update one list from another
body: <p>I'm trying to find an elegant way of updating values in a ConcurrentDictionary. I've created a quick example of what I'm trying to achieve below:</p>
  
  <pre><code>ConcurrentDictionary&lt;int, MyDataClass&gt; dataLookup = new ConcurrentDictionary&lt;int, MyDataClass&gt;();
  
  // Initialise the example dataLookup with some dummy data
  new List&lt;MyDataClass&gt;
  {
      new MyDataClass { Id = 1, ValueProperty = 0 },
      new MyDataClass { Id = 2, ValueProperty = 0 },
      new MyDataClass { Id = 3, ValueProperty = 0 },
      new MyDataClass { Id = 4, ValueProperty = 0 },
      new MyDataClass { Id = 5, ValueProperty = 0 }               
  }.ForEach(myClass =&gt; dataLookup.TryAdd (myClass.Id, myClass));
  
  // incoming results that need to be fed into the above dataLookup 
  List&lt;MyDataClass&gt; newDataReceived = new List&lt;MyDataClass&gt;
  {
      new MyDataClass { Id = 1, ValueProperty = 111 },
      new MyDataClass { Id = 3, ValueProperty = 222 },
      new MyDataClass { Id = 5, ValueProperty = 333 }
  };
  </code></pre>
  
  <p>So in the above example I want to set the ValueProperty in the dataLookup ConcurrentDictionary with the Id of 1, 3 &amp; 5 to 111, 222 and 333 respectively. I can change the newDataReceived object into anything I want but I'm pretty much stuck with the dataLookup as a ConcurrentDictionary.</p>
  
  <p>At the moment I'm iterating through the list but I'm looking for some suggestions on using LINQ to make this task more efficient.</p>