当前位置:首页 > C#学习 > 正文内容

索引器

小道7年前 (2018-08-21)C#学习4720

C#中提供了按照索引器进行访问的方法

定义索引器的方式:

string this[int index]

{get { return ""; }set { }}

,string为索引器的类型,[]中是参数列表。进行索引器写操作就是调用set代码块,在set内部使用value得到用户设置的值;进行读操作就执行get代码块。

索引器参数可以不止一个,类型也不限于int,几乎可以是任意类型。

namespace 索引
{
    class Program
    {
        static void Main(string[] args)
        {
            Person p = new Person();
            p[1] = "一洋";//给索引器1赋值
            Console.WriteLine("输出p[1]值:{0},p[2]值:{1}", p[1],p[2]);//输出结果
            Console.ReadKey();//按任意键退出
        }
    }
    class Person //定义一个类
    {
        private string FirstName = "大洋";//定义一个 局部变量
        private string SecondName = "小洋";//定义一个 局部变量
        public string this[int index]//定义一个索引器,int index是接收的索引整型值。string是接收和返回的值的类型。
        {
            set//设置
            {
                if (index == 1)//判断接收的值是否等于1
                {
                    FirstName = value;//如果等于,则将传递过来的值赋值给FirstName变量。value代表传递过来的值。
                }
                else if (index == 2)//判断接收的值是否等于2
                {
                    SecondName = value;//如果等于,则将传递过来的值赋值给FirstName变量。value代表传递过来的值。
                }
                else
                {
                    Console.WriteLine("错误的序号");//提示错误
                }
            }
            get//返回
            {
                if (index == 1)//判断接收的值是否等于1
                {
                    return FirstName;//如果等于,则返回
                }
                else if (index == 2)//判断接收的值是否等于2
                {
                    return SecondName;//如果等于,则返回
                }
                else
                {
                    return "错误的序号";//提示错误
                }
            }
        }
    }
}

输出结果:

image.png

扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://daobk.com/post/45.html

分享给朋友:

“索引器” 的相关文章

函数重名:构成重载的条件:参数类型不同或者参数个数不同(不严谨),与返回值无关。

函数重名:构成重载的条件:参数类型不同或者参数个数不同(不严谨),与返回值无关。

构成重载的条件:参数类型不同或者参数个数不同(不严谨),与返回值无关。        static void Main(string[] args)//默认函数   &...

面向对象版聊天机器人

面向对象版聊天机器人

机器人有不同的名字、维护自己的FullLevel,可以SayHello(我叫***),可以喂食(Eat(int foodCount)),可以对它说话(Speak),对异常情况(错误的喂饭数字,喂的太多撑死了)进行处理,有两个机器人供选择,一开始通过1、2数字选择聊天机器人。  &...

异常与异常处理

异常与异常处理

传统的错误表示方式:错误码。举例。需要知道不同错误码的含义,如果不处理错误码,则程序可能陷入不可以预置的错误。陈摄影师以为文件已经被删除造成的麻烦。错误码的缺点:不处理则很难发现,每次处理则很麻烦;难以看出错误的原因;容易使得程序进入不确定状态。try catch。Exception ex 异常也是...

静态成员和静态类

静态成员和静态类

全局变量。static类变量。不用new就能用的方法:static方法,static方法其实就是普通函数在static方法中可以调用其他static成员,但是不能调用非static成员。在非static方法中可以调用static成员。    class&nbs...