freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c-迭代器(編輯修改稿)

2025-08-20 09:10 本頁面
 

【文章內(nèi)容簡介】 給函數(shù)成員的參數(shù)值(如果有的話)和實(shí)例值進(jìn)行初始化。 典型的可枚舉對(duì)象是由編譯器自動(dòng)生成的封裝了迭代器塊中的代碼并實(shí)現(xiàn)了可枚舉接口的可枚舉類的實(shí)例,但其他的實(shí)現(xiàn)也是允許的。如果一個(gè)可枚舉類是由編譯器自動(dòng)生成的,則該類是直接或間接地嵌套在函數(shù)成員中的,具有私有的可訪問性,并且具有一個(gè)由編譯器保留使用的名字。 一個(gè)可枚舉對(duì)象可以實(shí)現(xiàn)上述之外的其它接口。例如,一個(gè)可枚舉對(duì)象還可以實(shí)現(xiàn)IEnumerator和IEnumeratorT,使得它既是可枚舉的又是一個(gè)枚舉器。這種情況下,當(dāng)可枚舉對(duì)象的GetEnumerator()方法第一次被調(diào)用時(shí),將返回可枚舉對(duì)象本身。以后對(duì)可枚舉對(duì)象的GetEnumerator()方法的調(diào)用(如果有的話),將返回可枚舉對(duì)象的一個(gè)拷貝。因此,每個(gè)被返回的枚舉器具有其自己的狀態(tài),并且一個(gè)枚舉器和其它枚舉器互不影響。 GetEnumerator()方法 一個(gè)可枚舉對(duì)象提供了對(duì)IEnumerator和IEnumberatorT接口的GetEnumerator()方法的實(shí)現(xiàn)。兩個(gè)GetEnumerator()方法共享一個(gè)實(shí)現(xiàn),能夠獲取并返回一個(gè)有效的枚舉器對(duì)象。該枚舉器對(duì)象使用可枚舉對(duì)象被初始化時(shí)所保存的參數(shù)值和實(shí)例值進(jìn)行初始化。 yield語句 迭代器塊中的yield語句用于生成一個(gè)值,或發(fā)出一個(gè)迭代完成的信號(hào)。 embeddedstatement: ... yieldstatement yieldstatement: yield return expression 。 yield break 。 內(nèi)嵌語句: ... yield語句 yield語句: yield return 表達(dá)式 。 yield break 。 為了保證和現(xiàn)有程序的兼容性,yield并不是一個(gè)保留字,只有當(dāng)一個(gè)return語句緊隨其后時(shí),yield語句才有這特殊的意義。其它情況下,yield語句可以用作標(biāo)識(shí)符。 yield語句的出現(xiàn)首很多限制,如下所描述: 如果一個(gè)yield語句出現(xiàn)在方法體、運(yùn)算符體或訪問器體之外,則會(huì)引起編譯錯(cuò)誤。 如果一個(gè)yield語句出現(xiàn)在匿名方法內(nèi)部,則會(huì)引起編譯錯(cuò)誤。 如果一個(gè)yield語句出現(xiàn)在finally或一個(gè)try塊內(nèi),則會(huì)引起編譯錯(cuò)誤。 如果一個(gè)yield語句出現(xiàn)在一個(gè)帶有catch語句的try塊內(nèi),則會(huì)引起編譯錯(cuò)誤。 下面的例子展示了一些yield語句的有效的和無效的用法。 delegate IEnumerableint D()。 IEnumeratorint GetEnumerator() { try { yield return 1。 // 正確 yield break。 // 正確 } finally { yield return 2。 // 錯(cuò)誤,yield出現(xiàn)在finally塊中E yield break。 // 錯(cuò)誤,yield出現(xiàn)在finally塊中 } try { yield return 3。 // 錯(cuò)誤,yield return語句出現(xiàn)在try...catch語句中 yield break。 // 正確 } catch { yield return 4。 // 錯(cuò)誤,yield return語句出現(xiàn)在try...catch語句中 yield break。 // 正確 } D d = delegate { yield return 5。 // 錯(cuò)誤,yield語句出現(xiàn)在匿名方法中 }。 } int MyMethod() { yield return 1。 // 錯(cuò)誤,迭代器塊具有錯(cuò)誤的返回值類型 } 從yield return語句中的表達(dá)式的類型到迭代器塊的生成類型()必存在一個(gè)隱式轉(zhuǎn)換。 yield return語句依照下面的步驟執(zhí)行: 對(duì)語句中給定的表達(dá)式進(jìn)行求值,并隱式轉(zhuǎn)換為生成類型,然后賦給枚舉器對(duì)象的Current屬性。 掛起對(duì)迭代器塊的執(zhí)行。如果該yield return語句位于一個(gè)或多個(gè)try塊中,相應(yīng)的finally塊暫時(shí)不會(huì)被執(zhí)行。 MoveNext()方法向其調(diào)用者返回true,表示枚舉器對(duì)象成功地前進(jìn)到下一個(gè)值上。 對(duì)枚舉器對(duì)象的MoveNext()方法的下一次調(diào)用將從上一次掛起的地方恢復(fù)對(duì)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1