迭代器和分部類
阿新 • • 發佈:2018-11-01
迭代器
迭代器是可以返回相同型別的值的有序序列的一段程式碼,可用作方法,運算子或get訪問器的程式碼體.迭代器程式碼使用yield return語句依次返回每個元素,yield break語句將終止迭代.可以在類中實現多個迭代器,每個迭代器必須像類成員一樣有唯一的名稱,並且可以在foreach語句中被客戶端程式碼呼叫.迭代器的返回型別必須為IEnumerrable或IEnumerator中的任意一種.
迭代器的使用
迭代器最常用的方法是對IEnumerator介面實現GetEnumrator方法
例
using System; 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 迭代器分部類 { public class family : System.Collections.IEnumerable//建立family類繼承IEnumerable介面 { string[] a = { "父親", "母親", "哥哥" }; public System.Collections.IEnumerator GetEnumerator()//對IEnumerator介面實現GetEnumerator方法建立迭代器 { for(int i = 0; i <= a.Length; i++) { yield return a[i]; } } } public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { family fa = new family(); foreach(string str in fa) { richTextBox1.Text += str + "\n"; } } } }
分部類
分部類概述
分部類使程式的結構更加合理,程式碼組織更加嚴密.可以將類,結構和介面的定義拆分到兩個或多個原始檔中。每個原始檔包含類定義的一部分,編譯應用程式時,vs會把所有部分組合起來,這樣的類稱為分部類