.Net索引器

专注于为中小企业提供成都网站建设、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业可克达拉免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。
- class SampleCollection
 - {
 - private T[] arr = new T[100];
 - public T this[int i]
 - {
 - get
 - {
 - return arr[i];
 - }
 - set
 - {
 - arr[i] = value;
 - }
 - }
 - }
 - class Program
 - {
 - static void Main(string[] args)
 - {
 - SampleCollection
 stringCollection = new SampleCollection (); - stringCollection[0] = "Hello, World";
 - System.Console.WriteLine(stringCollection[0]);
 - }
 - }
 
.Net迭代器
    您只需提供一个迭代器,即可遍历类中的数据结构。当编译器检测到迭代器时,它将自动生成 IEnumerable 或 IEnumerable
迭代器是可以返回相同类型的值的有序序列的一段代码。
迭代器可用作方法、运算符或 get 访问器的代码体。
迭代器代码使用 yield return 语句依次返回每个元素。yield break 将终止迭代。
可以在类中实现多个迭代器。每个迭代器都必须像任何类成员一样有***的名称,并且可以在 foreach 语句中被客户端代码调用,如下所示:foreach(int x in SampleClass.Iterator2){}
     迭代器的返回类型必须为 IEnumerable、IEnumerator、IEnumerable
- public class DaysOfTheWeek : System.Collections.IEnumerable
 - {
 - string[] m_Days = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" };
 - public System.Collections.IEnumerator GetEnumerator()
 - {
 - for (int i = 0; i < m_Days.Length; i++)
 - {
 - yield return m_Days[i];
 - }
 - }
 - }
 - class TestDaysOfTheWeek
 - {
 - static void Main()
 - {
 - DaysOfTheWeek week = new DaysOfTheWeek();
 - foreach (string day in week)
 - {
 - System.Console.Write(day + " ");
 - }
 - }
 - }
 
原文链接:http://www.cnblogs.com/liusuqi/archive/2013/06/05/3118268.html
http://www.cnblogs.com/liusuqi/archive/2013/06/06/3120390.html
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号