定义行为的复杂度。但控制部分的状态和逻辑还是需要单独实现。 而 C# 1.0 中就干脆没有自带支持,必须通过《C# 2.0 中Iterators的改进与实现原理浅析》一文中所举例子那样笨拙的方式完成。 以下内容为程序代码: public class Tokens : IEnumerable { public string[] elements; Tokens(string source, char[] delimiters) { // Parse the string into tokens: elements = source.Split(delimiters); } public IEnumerator GetEnumerator() { return new TokenEnumerator(this); } // Inner class implements IEnumerator interface: private class TokenEnumerator : IEnumerator { private int position = -1; private Tokens t; public TokenEnumerator(Tokens t) { this.t = t; } // Declare the MoveNext method required by IEnumerator: public bool MoveNext()
页码:[1] [2] [3] [4] [5] [6] [7] [8] 第5页、共8页 |