第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

IEnumerable和Array,IList和List有什么區(qū)別?

IEnumerable和Array,IList和List有什么區(qū)別?

C#
藍(lán)山帝景 2019-11-12 14:42:15
IEnumerable和之間有什么區(qū)別Array?IList和之間有什么區(qū)別List?這些似乎具有相同的功能。
查看完整描述

3 回答

?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊

IEnumerable僅提供最少的“可迭代”功能。您可以遍歷該序列,僅此而已。這有缺點(diǎn)-例如,使用IEnumerable計(jì)數(shù)元素或獲取第n個(gè)元素效率很低-但它也有優(yōu)點(diǎn)-例如,IEnumerable可以是無窮的序列,例如質(zhì)數(shù)序列。

數(shù)組是一個(gè)固定大小的集合,具有隨機(jī)訪問權(quán)限(即,您可以對其進(jìn)行索引)。

List是一個(gè)具有隨機(jī)訪問權(quán)限的可變大小的集合(即,您可以添加和刪除元素)。

IList是一個(gè)接口,用于從各種具體類(例如List,BindingList,ObservableCollection等)中抽象出列表功能(計(jì)數(shù),添加,刪除,索引器訪問)。


查看完整回答
反對 回復(fù) 2019-11-12
?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊

IEnumerable是一個(gè)接口,它允許通過一組項(xiàng)進(jìn)行迭代(例如,通過foreach關(guān)鍵字)。

數(shù)組是.NET固有的。它容納相同類型的項(xiàng)目,但是大小固定。創(chuàng)建具有x個(gè)元素的數(shù)組后,它就無法增長或收縮。

IList定義列表的接口,并實(shí)現(xiàn)IEnumerable。

List實(shí)現(xiàn)IList接口;這是列表的具體類型。

.NET列表和數(shù)組之間的區(qū)別在于列表可以添加元素-它們增長到足以容納所有必需項(xiàng)的大小。列表將其內(nèi)部存儲(chǔ)在一個(gè)數(shù)組中,當(dāng)該數(shù)組的大小不再足以容納所有元素時(shí),將創(chuàng)建一個(gè)新的數(shù)組并復(fù)制項(xiàng)目。

IList和數(shù)組都實(shí)現(xiàn)IEnumerable。接口就是這樣工作的-類實(shí)現(xiàn)協(xié)定并以相似的方式運(yùn)行,因此可以類似地被對待(您知道該類實(shí)現(xiàn)IEnumerable,您無需知道操作方式或原因)。我建議您閱讀接口等內(nèi)容。


查看完整回答
反對 回復(fù) 2019-11-12
?
慕后森

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊

IEnumerable集合的生成很懶。例:


public IEnumerable<int> GetTwoInts()

{

  yield return 1;

  yield return 2;

}

public void Something()

{

  var twoInts = GetTwoInts();

}

在方法Something中,對GetTwoInts()的調(diào)用實(shí)際上不會(huì)導(dǎo)致方法GetTwoInts被執(zhí)行,因?yàn)槊杜e從未被迭代過。


查看完整回答
反對 回復(fù) 2019-11-12
  • 3 回答
  • 0 關(guān)注
  • 1168 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)