title: Best practices for making a 2D array/collection class
body: <p>I am working on a general library which is going to be widely used in other applications. You can say that it is a kind of SDK library.</p>
  
  <p>I need to implement a 2D collection implementation. It is going to be a generic template abstract class. So what are good practices for making a 2D array or collection. It is like a grid structure.</p>
  
  <p>Here is what I have done for a 1D collection.</p>
  
  <pre><code>public abstract class BaseCollection&lt;T&gt; : Collection&lt;T&gt;
  </code></pre>
  
  <p>What should I do for 2D collection. [,] or something else.</p>