C#開發 —— 進階應用程式

來源:互聯網
上載者:User

標籤:style   blog   color   使用   檔案   art   

迭代器

可以返回相同類型的值的有序序列的一段代碼,可用作方法,運算子或get訪問器的代碼體

使用 yield return 語句依次返回每個元素,yield break 語句可將終止迭代

迭代器的傳回型別必須為 IEnumerable 或 IEnumerator 中的任意一種

對IEnumerator 介面實現GetEnumerator方法:

namespace Test01{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        public class Family : System.Collections.IEnumerable        {            string[] MyFamily ={ "父親","母親","弟弟","妹妹"};            public System.Collections.IEnumerator GetEnumerator()            {                for (int i = 0; i < MyFamily.Length; i++)                {                    yield return MyFamily[i];                }            }        }        private void Form1_Load(object sender, EventArgs e)        {            Family myfamily = new Family();            foreach (string str in myfamily)            {                richTextBox1.Text += str + "\n";            }        }    }}

部分類別

可以將類,結構或介面的定義拆分到兩個或多個源檔案中

定義分布類需要使用 partial 關鍵字,部分類別的每個部分都必須包含一個partial關鍵字,並且其聲明必須與其他部分位於同一命名空間

在設定部分類別時,各個分部必須有相同的可訪問性

namespace Test04{    class Program    {        partial class Mclass        {            public void Hello()            {                Console.WriteLine("用一生下載你");            }        }        partial class Mclass        {            public void Hi()            {                Console.WriteLine("芸燁湘楓");            }        }        static void Main(string[] args)        {            Mclass myclass = new Mclass();            myclass.Hello();            myclass.Hi();            Console.ReadLine();        }    }}

 

 

namespace Test03{    public class Year : System.Collections.IEnumerable//實現迭代器的類    {        string[] season = { "Spring", "Summer", "Autumn", "Winter" };        public System.Collections.IEnumerator GetEnumerator()        {            for (int i = 0; i < season.Length; i++)            {                yield return season[i];            }        }    }    class Program    {        static void Main(string[] args)        {            Year y = new Year();            // 使用迭代器            foreach (string s in y)            {                System.Console.Write(s + " ");            }            Console.ReadLine();        }    }}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.