How to create a class constructor that uses [] opposed to () for initalization
===

I am looking for a way to initialize a class containing an array using []

My class contains a private array along with a indexer so that I can get and set array elements using [] however I wish to pass an int to my constructor representing the size of the array, using the syntax Buffer buf = new Buffer[4] but receive errors.

eg, I want to set the size of my Buffer with 

    Buffer buf = new Buffer[4]

    class Buffer
    {
      private char[] buffer;

      public Buffer(int size)  // Constructor
      {
         buffer = new char[size];

         for ( int index = 0; index < size ; index++ )
         {
            buffer[index] = 'c';
         }

      }

      #region Methods

      public char this[int index]
      {
         get
         {
            return buffer[index];
         }
         set
         {
            buffer[index] = value;
         }
      }

      public void Display()
      {
         foreach (char pixel in buffer)
         {
            Console.Write("{0} ", pixel);
         }

         Console.Write("\n\n");
      }

      #endregion

    }