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

索引器

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

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

分享给朋友:

“索引器” 的相关文章

类型转换Cast和Convert

类型转换Cast和Convert

把源类型赋值给目标类型,两个类型不一致的时候会发生类型转换。a=b,b是源,a是目标。隐式转换、显式转换。当目标类型一定能满足源类型转换过去后的要求的话就是隐式转换;如果当目标类型不一定能满足源类型转换过去后的要求的话就需要显式转换(程序员自己负责)。比如:把中国人转换为人是隐式转换,把人转换为中国...

面向对象版聊天机器人

面向对象版聊天机器人

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

对象的引用

对象的引用

int、decimal、bool、byte等基础类型(值类型)是传递拷贝;对象(引用类型)则是传递引用。(引用类型包括:类、数组、接口、string)因为基础类型不怎么占内存,而对象则比较占内存。    class Program  &n...

图片的显示和隐藏

图片的显示和隐藏

页面上有一张图片(PictureBox,在Image属性中加载图片),默认是隐藏的(Visible=False),用户在文本框中输入身份证号(131226198105223452),点击按钮,如果年龄大于18岁则显示图(Visible=True),否则提示年龄太小。取当前年份:DateTime.No...