title: Using array initializer '{}' multiple times for the same variable doesn't compile
body: <p>I am trying to compile following code in C#:</p>
  
  <pre><code>String[] words = {"Hello", "Worlds"};
  words = {"Foo", "Bar"};
  </code></pre>
  
  <p>And I am getting compilation errors like:</p>
  
  <pre><code>Error 1 Invalid expression term '{'
  Error 2 ; expected
  Error 3 Invalid expression term ','
  </code></pre>
  
  <p>On the other hand if I try</p>
  
  <pre><code>String[] words = { "Hello", "Worlds" };
  words = new String[] {"Foo", "Bar"};
  </code></pre>
  
  <p>It compiles fine. As per <a href="http://msdn.microsoft.com/en-us/library/aa664573%28VS.71%29.aspx" rel="nofollow noreferrer">MSDN</a>,</p>
  
  <pre><code>int[] a = {0, 2, 4, 6, 8};
  </code></pre>
  
  <p>it is simply a shorthand for an equivalent array creation expression:</p>
  
  <pre><code>int[] a = new int[] {0, 2, 4, 6, 8};
  </code></pre>
  
  <p>Why doesn't the first code sample compile?</p>