title: Interlocked.Increment an integer array
body: <p>Is this guaranteed to be threadsafe/not produce unexpected results?</p>
  
  <pre><code>Interlocked.Increment(ref _arr[i]);
  </code></pre>
  
  <p>My intuition tells me this is not, i.e. reading the value in _arr[i] is not guaranteed to be 'atomic' with the actual incrementing.</p>
  
  <p>If I am correct in thinking this is wrong, how can I fix this? Thanks.</p>