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

Posted programme-maker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六章 数组和索引器 (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;
                }
            }
        }   
    }  
}

运行结果:

技术图片

 

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

 

以上是关于第六章 数组和索引器 (6.6 索引器)的主要内容,如果未能解决你的问题,请参考以下文章

C#图解教程 第六章 深入理解类

在片段着色器中,为啥我不能使用平面输入整数来索引 sampler2D 的统一数组?

第六章 索引管理

大神巅峰之作--第六章 事务,试图和索引

第六章 数组

第六章分页器组件