I dont know anything about Ienumerable object.what is the role of Ienumarble interface in .net ? Please tell me whether it is in built? Is every class in .net automatically implements the Ienumarable interface ? why there is need to implement the ienumerable interface? what are the methods it contains & what roles they plays. Please explain in detail.
                +1 
                A: 
                
                
              In a nutshell, IEnumerable exposes an enumerator, which allows support of a simple iteration over a non-generic collection.
It basically allows foreach loops over a collection, i.e.:
foreach (Control control in this.Controls)
{
   // Do something
}
The only method you need implement to use IEnumable in your own class is GetEnumerator() which returns IEnumerator.
The IEnumerator you return must be a class that implements the following methods:
void Reset();
object Current();
bool MoveNext();
A basic example of an IEnumerator class, taken from here:
private class ClassEnumerator : IEnumerator
{
    private ClassList _classList;
    private int _index;
    public ClassEnumerator(ClassList classList)
    {
        _classList = classList;
        _index = -1;
    }
    #region IEnumerator Members
    public void Reset()
    {
        _index = -1;
    }
    public object Current
    {
        get
        {
            return _classList._students[_index];
        }
    }
    public bool MoveNext()
    {
        _index++;
        if (_index >= _classList._students.Count)
            return false;
        else
            return true;
    }
    #endregion
}
                  GenericTypeTea
                   2010-06-14 06:45:35
                
              **over a non-generic** collection.
                  Lukas Šalkauskas
                   2010-06-14 06:47:59
                @Lukas - woops.
                  GenericTypeTea
                   2010-06-14 06:50:04
                @Lukas Šalkauskas, please elaborate as the MSDN documentation simply states "collection" - not "non-generic collection".
                  Sohnee
                   2010-06-14 06:51:45
                @Sohnee - IEnumerable is for non-generic types. IEnumable<T> would be for generic types.
                  GenericTypeTea
                   2010-06-14 06:53:51