我們知道要使用foreach語句從客戶端**中呼叫迭代器,必需實現ienumerable介面來公開列舉器,ienumerable是用來公開列舉器的,它並不實現列舉器,要實現列舉器必需實現ienumerator介面。現在用 yield關鍵字,您不必實現整個 ienumerator 介面。從而簡化了**. 而且可以實現更加靈活的列舉。
如下**:
1// declare the collection:
2public class samplecollection
3; 9 }
1011 public system.collections.ienumerable buildcollection()
12
17 }
18}19
20class mainclass
2132 }
33}34
或者code
1class program
2
11 }
12 }
1314 public class samplecollection:ienumerable
15 ;
21 }
2223 public ienumerator getenumerator()
24
29 }
30 }
我們在注意的是c#2.0增加了yield關鍵字,簡化了對列舉器的實現。但他只不過是在編譯器上的改變,實際上是由編譯器幫我們實現了ienumerator介面的列舉器.
C 2 0中使用yield關鍵字簡化列舉器的實現
我們知道要使用foreach語句從客戶端 中呼叫迭代器,必需實現ienumerable介面來公開列舉器,ienumerable是用來公開列舉器的,它並不實現列舉器,要實現列舉器必需實現ienumerator介面。現在用 yield關鍵字,您不必實現整個 ienumerator 介面。從而簡化了 而且...
C 中yield關鍵字
yield關鍵字向編譯器指示它所在的方法是迭代器塊。編譯器生成乙個類來實現迭代器塊中標的行為。在迭代器中,yieid關鍵字與return關鍵字結合使用,向列舉器物件提供值。這是乙個返回值,例如,在foreach語句的每一次迴圈中返回的值。yieid關鍵字也可與break結合使用,表示迭代結束。usi...
c 2 0語法新關鍵字 partial
再 使得使用該書的您很容易過渡到.net2.0,或者說讓您更明白微軟為什麼這麼做,看完本文您就應該明白是因為需要才促使語言的公升級,而不是因為公升級促使需要 請看下面示例 publicpartialclass sampleclass publicpartialclass sampleclass 這裡...