IEnumerable和List有什么区别?
如下.IList接口可以使用更多的方法.比如你看一个集合是否包含相应实体, IEnumerable不行,而
IList里有Contains,相应的实现了IList的可以添加,删除相应实体.而IEnumerable不行.
但是这不是说IList就比IEnumerable好,就是因为IList实现的功能多.相对来说限制大了,你看
Object.任何类都可用作Object.这就是因为他简单.同理.能为IList表达的数据集.一定能为IEnumerable表达.而能为IEnumerable表达不一定能为IList表达.你可以想想Linq To Object里的方法为什么是对IEnumerable接口了而不是选择IList接口.
性能对于我们来说不是问题.就算是问题.你问的性能是什么.是IEnumerable得到Current快还是什么的.
那么我想说,这是接口,他本身没有实现,怎么比较性能.就算有.也是List<T>之类的类才会有的.
public interface IEnumerable
{
     IEnumerator GetEnumerator();
}
public interface IEnumerator
{
    bool MoveNext();
    object Current { get; }
    void Reset();
}
public interface IList : ICollection, IEnumerable
{
    // Methods
    int Add(object value);
    void Clear();
    bool Contains(object value);
    int IndexOf(object value);
    void Insert(int index, object value);
    void Remove(object value);
    void RemoveAt(int index); // Properties
    bool IsFixedSize { get; }
    bool IsReadOnly { get; }
    object this[int index] { get; set; }
}
posted on 2013-10-31 09:12 YEKEYISHUO 阅读(2578) 评论(1) 收藏 举报
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号