title: Is Parallel.Foreach safe to assign values to target list items?
body: <p>I have a source list with modified values and need to assing this changes to a second list with Parallel.Foreach.</p>
  
  <p>I'm wondering if this is thread safe, code example:</p>
  
  <pre><code>Parallel.ForEach(sourceList, (srcItem) =&gt;
  {
      var destItem = destinationList.FirstOrDefault(p =&gt; p.Id == srcItem.Id);
      destItem.Color = srcItem.Color;
  });
  </code></pre>
  
  <p>It's ok? or need to set some syncronization or locking?</p>