C 迭代器,列舉器

2021-06-16 10:42:00 字數 656 閱讀 9760

測試**:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.collections;

namespace _07迭代器

private int move = 0;

const int maxmoves = 9;

public ienumerator cross() ", move);

if (++move >= maxmoves)

yield return circle;}}

public ienumerator circle()

", move);

if (++move >= maxmoves)

yield return cross;}}

}class program

console.readkey();}}

}yield return 每次返回乙個列舉器,包含yield的方法或屬性叫做迭代快,使用迭代快,編譯器會生成乙個yield型別,movenext()方法封裝了迭代塊中的**

current屬性返回yield return 中返回的內容。這就是迭代器執行的順序。

C 列舉器和迭代器

using system using system.collections namespace study public class people ienumerable 宣告可列舉類 ienumerator ienumerable.getenumerator 實現ienumerable的geten...

C 迭代器和列舉器01

1 ienumerable 提供可列舉的能力,只有實現該介面才可以使用foreach物件迭代物件 其介面包含的方法 ienumerator getenumerator 該介面中包含實現迭代提供的值序列或者自定義值序列,然後對其進行迭代 public class test public class t...

C 學習之用迭代器實現列舉器

已經知道 主要乙個類實現了getenumerator函式就能foreach,而實現ienumerator介面只是實現 getenumerator函式的其中乙個辦法,也就說還有其他辦法實現getenumerator函式了?是的,c 2.0為我們提供了一種很簡單的方 法來實現getenumerator函...