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

索引器

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

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

分享给朋友:

“索引器” 的相关文章

提示用户输入X值和Y值,将这两个值交换。

提示用户输入X值和Y值,将这两个值交换。

提示用户输入X值和Y值,将这两个值交换。            Console.WriteLine("请输入X的值:");//提示用户输入X值。  ...

类型转换Cast和Convert

类型转换Cast和Convert

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

数组:将一个字符串数组输出为|分割的形式

数组:将一个字符串数组输出为|分割的形式

数组:将一个字符串数组输出为|分割的形式,比如“王钢蛋|李铁蛋|铁锤”            string[] s = { "王钢...

面向对象概念

面向对象概念

面向对象不是取代面向过程的。类、对象。“人”是类,“张三”是“人”这个类的对象。类是抽象的,对象是具体的。按钮就是类,某个按钮就是对象。对象可以叫做类的实例(Instance)。类就像int,对象就像10。字段Field(和某个对象相关的变量),字段就是类的状态。人这个类有姓名、年龄、身高等字段。类...