title: C# abstract class, works with array initialization
body: <p>As we know that we CANNOT create the instance of <code>abstract class</code>.</p>
  
  <p>I just want to know that if we create the array of abstract class, it will sure work.</p>
  
  <p>E.g.</p>
  
  <pre><code>public abstract class Creator
  {
      public abstract void DoSomething();
  }
  
  Creator creator = new Creator(); // this will give you compilation error!
  
  Creator[] creator = new Creator[2]; // this will SURE work and will NOT give you compilation error.
  </code></pre>
  
  <p>Can anybody please let me know that why this is happening and why it is working with array initialization?</p>
  
  <p>Thanks in advance.</p>