IEnumerable
适合最简单的遍历,不适合增删改查操作,是其他接口的基类,较轻,适合只需要遍历的场景。
ICollection
派生于IEnumerable, 增加了Add、Update、Delete等操作,而且可以用Count函数来获取集合总数。
IList
派生于ICollection,结合了IEnumerable 和ICollection的所有操作。
并增加了可以对List的中间元素进行增加移除操作
IQueryable
派生于ICollection,多用于数据层,生成的LINQ to SQL表达式,多用于ORM查询获取DataSet