title: What does it mean, in 2D Array, to initialize with first dimension size zero?
body: <p>I have seen 2D arrays being initialized as:</p>
  
  <pre><code>// Two-dimensional array with no boundary on dimension.
  int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
  // The same array with dimensions specified.
  int[,] array2Da = new int[4, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
  // The same array with implicit dimensions sizes.
  int[,] array2Db = { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
  
  // Ref: https://msdn.microsoft.com/en-us/library/2yd9wwz4.aspx
  </code></pre>
  
  <p>But what does it mean to initialize with one of the dimensions as zero? For example, I recently came across something like:</p>
  
  <pre><code>int[,] array2Dzero = new int[0,4];
  </code></pre>
  
  <p>Does this mean that the first dimension can be of any size? If yes, is there a documentation of this anywhere? </p>