日期:2014-05-17  浏览次数:21078 次

(原创)(C#随笔)IEnumerable< ICollection < IList区别
    public interface IEnumerable
    {
        IEnumerator GetEnumerator();
    }

再看ICollection<T>

    public interface ICollection<T> : IEnumerable<T>, IEnumerable
    {
        void Add(T item);
        void Clear();
        bool Contains(T item);
        void CopyTo(T[] array, int arrayIndex);
        bool Remove(T item);
        int Count {  get; }
        bool IsReadOnly { get; }
    }

再看IList<T>

    public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
    {
        int IndexOf(T item);
        void Insert(int index, T item);
        void RemoveAt(int index);
        T this[int index] {get;set; }
    }
可见,IList要比ICollection要多索引器的功能,另外还可以用索引器来进行修改,标识IList是可读写的链表,而ICollection是只读的链表;