C#迭代器的基本應用
阿新 • • 發佈:2018-12-26
using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication2 { //迭代器可以返回相同型別的值的有序序列的一段程式碼, //可以用作方法,運算子,get訪問器的程式碼體。 //IEnumerable公開列舉數,該列舉數支援在非泛型集合上進行簡單迭代 //迭代器的返回型別必須為IEnumerable和IEnumerator的一種 public class Family:System.Collections.IEnumerable//迭代器最常用的方法是對IEnumerable介面實現GetEnumerable()方法 { string[] MyFamily = { "父親", "母親", "妹妹" }; public System .Collections.IEnumerator GetEnumerator() { for (int i=0;i<MyFamily.Length; i++) { yield return MyFamily[i];//迭代器程式碼使用yield return依次返回每個元素。 //yield return 終止迭代。 } } } public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Family myfamily = new Family(); foreach (string str in myfamily) { richTextBox1.Text += str + "\n"; } } } }