第六章 数组和索引器 (6.6 索引器)

案例】本案例在Student类中定义索引器,然后通过stu[i] 来引用Student类的对象实例。

【案例目的】(1)掌握索引器定义与使用。

 (2)理解索引器与属性的区别。

【代码】

namespace Example1
{
    class Program
    {
        static void Main(string[] args)
        {
            Student stu = new Student();//stu是Student类的对象名
            stu.Sno = "1840";
            stu.Name = "李四";
            stu[0] = 89; //stu[下标]表示类的索引器
            stu[1] = 90;
            Console.WriteLine("学生{0},学号{1}",stu.Name, stu.Sno);
            Console.WriteLine("他的第一门成绩是{0},第二门成绩是{1}", stu[0], stu[1]);
            Console.ReadLine();
        }
    }
    public class Student
    {
        private string sno;
        private string name;
        private double[] scores;
        public string Sno//属性
        {
            set { sno = value; }
            get { return sno; }
        }
        public string Name
        {
            set { name = value; }
            get { return name; }
        }
        public Student()
        {
            scores = new double[10];
        }        
        public double this[int index]  //定义索引器
        {            
            get
            {
                if(index<0||index>=scores.Length )
                {
                    return 0;
                }
                else
                {
                    return scores[index];
                }
            }
            set
            {
                if (!(index < 0 || index >= scores.Length))
                {
                    scores[index] = value;
                }
            }
        }   
    }  
}

运行结果:

 

【索引器拓展案例与分析】

 

posted on 2019-04-18 19:25  熟烂的番茄  阅读(187)  评论(0编辑  收藏  举报

导航