C#-Hierarchical Iteration works differently
<p>When i make iteration over the following declaration  :</p>

<p>Car[] cars = new Car[2];
<br/>
cars[0] = new Car { Speed = 100, Color = "green" };
<br/>
cars[1] = new Car { Speed = 200, Color = "Orange" };
<br/></p>

<p><b> <i> using "foreach" i have no issue to iterate over the Car Array </i> </b>
<br/></p>

<p>but as in the case of following :
<br/></p>

<p><strong>public class CarStore:Car</strong>
    {
<br/>
        Car[] m_collection = new Car[2];</p>

<pre><code>    public CarStore()
    {
        m_collection[1] = new Car { Speed = 100, Color = "red" };
        m_collection[2] = new Car { Speed = 200, Color = "yellow" };
    }

}
</code></pre>

<p><br/>
Now i suppose to Use :</p>

<p>CarStore m_Store = new CarStore();
<br/></p>

<p>foreach (Car myCar in m_Store),iteration won't work until i use IEnumerator
<hr/>
My Question is :
<br/></p>

<ol>
<li> How does CLR internally treat them? .First case it use System.Array,What happen 
      to second case of declaration ..?
</li>

<li> Am i really unfit for coding in OOps world ?,for not  knowing such basic things? </li>

</ol>
