c#索引器

来源:互联网 发布:淘宝卖家销售记录删除 编辑:程序博客网 时间:2024/06/15 20:39

索引器(Indexer)是C#引入的一个新型的类成员,它使得类中的对象可以像数组那样方便、直观的被引用。索引器非常类似于属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。定义了索引器的类可以让您像访问数组一样的使用 [ ] 运算符访问类的成员。(当然高级的应用还有很多,比如说可以把数组通过索引器映射出去等等)

 

 

 

         鸡群3 jiqun3 = new 鸡群3(jis);            for (int i = 0; i < 3;i++ )            {                System.Console.WriteLine(jiqun3[i]);            }                     System.Console.WriteLine(jiqun3[20,20]);


 

 

    public class 鸡群3    {        private 鸡[] ji;        public 鸡群3(鸡[] list)        {            ji = list;//引用类型        }        //索引器必须以this关键字定义,其实这个this就是类实例化之后的对象        public 鸡 this[int index]        {            //实现索引器的get方法            get            {                if (index < ji.Length)                    return ji[index];                return null;            }        }        public 鸡 this[int 身高, int 体重]        {            //实现索引器的get方法            get            {                foreach (var v in ji)                {                    if (v.身高 > 身高 && v.体重 > 体重)                    {                        return v;                    }                }                return null;            }        }        public IEnumerator GetEnumerator()        {            for (int i = 0; i < ji.Length; i++)            {                yield return ji[i];            }        }    }


 

 

 

 

 

 

 

0 0