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 == 0return name;
                    
    else if (index == 1return 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 字段值

    赋值后,就可以使用属性方法访问到刚刚给两个字段赋的值了。

  • 相关阅读:
    后台数值往前台传值,能获取到值,页面显示不出来的问题
    总结jquery中对select和option的基本操作
    使用<input type="image" src="...">标签会引发页面刷新的问题
    用java来实现验证码功能。
    用java来实现验证码功能(本帖为转载贴),作为个人学习收藏用
    使用java实现发送邮件的功能
    java中的中文参数存到数据库乱码问题
    模糊查询时,页面没有数据,数据库编辑器里可以正常显示数据
    c# 无法加载 DLL xxxxxxxx找不到指定的模块。 (异常来自HRESULT:0x8007007E)。的一个解决方法
    关于C#调用C++ 的DLL传送字符串显示乱码的解决
  • 原文地址:https://www.cnblogs.com/jarod99/p/1372453.html
Copyright © 2011-2022 走看看