A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

c#中的索引器是否只能根据数字进行索引,是否允许多个索引器参数?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

4 个回复

倒序浏览
如果你说的是索引下标的话,那就只能是数字

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
索引器允许类或结构的实例就像数组一样进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。索引用任何类型都可以的,但索引器必须和类同名

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
不只是可以根据int类型来索引,你也可以根据string类型来索引,例如
  class arr
    {
        private string[] myarr;

        public arr(int size)
        {
            myarr = new string[size];
            for (int i = 0; i < size; i++)
            {
                myarr[i] = "空值";
            }

        }
        public string this[int j]
        {
            get { return myarr[j]; }
            set { myarr[j] = value; }
        }

        public int getValue(string value)
        {
            int i = 0;
            foreach (string s in myarr)
            {
                if (s == value)
                {
                    return i;
                }
                i++;
            }
            return -1;
        }

        public int this[string s]
        {
            get { return getValue(s); }
        }
    }

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
你索引的参数类型不一样,就可存在多个的索引,如我们常用的有int、string、一个类的对象等等。这个东西你其实可以自己写一下,那样理解深刻一些,毕竟是你自己动手写的嘛!!   记忆深刻些!  

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马