亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

IEnumerable和List有什么區別?

IEnumerable和List有什么區別?

largeQ 2018-10-24 09:06:03
RT~~~~~~~~~~~~~~~~~~~~~~
查看完整描述

1 回答

?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

如下

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; }
}


查看完整回答
反對 回復 2018-10-25
  • 1 回答
  • 0 關注
  • 1062 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號