asp.net

ICollection和ICollection定义源码

2024-01-14

ICollection<T>是可以对其中的对象进行计数的标准集合接口。它可以确定集合大小(Count),确定集合中是否存在某个元素(Contains),将集合复制到一个数组(ToArray)以及确定集合是否为只读(IsReadOnly)。对于可写集合,还可以对集合元素进行添加(Add)、删除(Remove)以及清空(Clear)操作。

由于它扩展自IEnumerable<T>,因此也可以通过foreach语句进行遍历。


public interface ICollection<T> : IEnumerable<T>, IEnumerable

{

    int Count { get; }

    bool IsReadOnly { get; }

    void Add(T item);

    void Clear();

    bool Contains(T item);

    void CopyTo(T[] array, int arrayIndex);

    bool Remove(T item);

}


非泛型的ICollection也提供了计数的功能,但是它并不支持修改或检查集合元素的功能:

public interface ICollection : IEnumerable

{

    int Count { get; }

    object SyncRoot { get; }

    bool IsSynchronized { get; }

    void CopyTo(Array array, int index);

}