码迷,mamicode.com
首页 > 其他好文 > 详细

C#开发 —— 高级应用

时间:2014-07-09 22:45:47      阅读:236      评论:0      收藏:0      [点我收藏+]

标签: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();
        }
    }
}

C#开发 —— 高级应用,布布扣,bubuko.com

C#开发 —— 高级应用

标签:style   blog   color   使用   文件   art   

原文地址:http://www.cnblogs.com/sprint1989/p/3829865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!