1. 程式人生 > >迭代器和分部類

迭代器和分部類

迭代器
迭代器是可以返回相同型別的值的有序序列的一段程式碼,可用作方法,運算子或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會把所有部分組合起來,這樣的類稱為分部類