zoukankan      html  css  js  c++  java
  • C# 类中索引器的使用二

    索引器(Indexer)是C#引入的一个新型的类成员,它使得类中的对象可以像数组那样方便、直观的被引用。索引器非常类似于属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。定义了索引器的类可以让您像访问数组一样的使用 [ ] 运算符访问类的成员。(当然高级的应用还有很多,比如说可以把数组通过索引器映射出去等等)

          本文只是简单演示一下索引器的概念和基本的使用方法:

    请看代码,下面是类的定义,中间包含了一个索引器定义

    类的定义
        public class Person
        {
            //定义两个字段信息
            private string name;
            private string password;
    
            //定义一个 Name 属性来操作 name 字段
            public string Name
            {
                set { name = value; }
                get { return name; }
            }
    
            //定义一个 Password 属性来操作 password 字段
            public string Password
            {
                set { password = value; }
                get { return password; }
            }
    
            //定义索引器,name 字段的索引值为 0 ,password 字段的索引值为 1
            public string this[int index]
            {
                get
                {
                    if (index == 0) return name;
                    else if (index == 1) return password;
                    else return null;
                }
                set
                {
                    if (index == 0) name = value;
                    else if (index == 1) password = value;
                }
            }
        }

    下面是使用索引器的方法:

    索引器使用
        protected void Page_Load(object sender, EventArgs e)
        {
            //声明并实例化这个类
            Person p = new Person();
    
            //使用索引器的方式来给类的两个属性赋值
            p[0] = "jarod";
            p[1] = "123456,./";
    
            //使用类属性取得两个字段信息
            Label1.Text = p.Name + " / " + p.Password;
        }

    非常简单,在上面的类中我们把类的 name 字段映射的索引值为 0,而 password 字段映射的索引值为 1。有了这个映射就可以使用以下方式为类的 name 和 password 赋值了。

    p[0] = "jarod";    //设置 name 字段值
    p[1] = "123456,./";  //设置 password 字段值
  • 相关阅读:
    C# 面向对象系列笔记(三)
    C# 面向对象系列笔记(二)
    分享一下: C# 面向对象系列笔记(一) ,希望对大家有所帮助
    新人报到
    VUE+ELEMENT-UI的后台项目封装组件--查询form的封装
    vue+element-ui的后台项目封装组件--面包屑的封装
    数组对象循环格式化时间撮的转换
    VUE+ELEMENT-UI的后台项目封装组件--table的封装
    css的样式问题
    vue项目兼容es6语法跟IE浏览器
  • 原文地址:https://www.cnblogs.com/genesis/p/4917992.html
Copyright © 2011-2022 走看看