Array class implementation in C#

arrays, c#

Solution

The implementation of Array is:

Array : ICloneable, IList, IStructuralComparable, IStructuralEquatable

Take a look on this source in here

Maybe you took a look on MSDN which just make document clearer.

Problem

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?

Original source

Related problems