Going to the implementation details, I see the implementation of Array
class as
public abstract class Array : ICloneable, IList, ICollection, IEnumerable, IStructuralComparable, IStructuralEquatable
Implementation of IList interface reads as
public interface IList : ICollection, IEnumerable
My question is, doesn't the Array
class automatically implement ICollection
and IEnumerable
the moment it implements IList
? Why are these implemented explicitly?