黑马程序员技术交流社区

标题: c#中的索引器是否只能根据数字进行索引,是否允许多个索引器参数? [打印本页]

作者: 职业规划-蔡红微老师    时间: 2012-4-9 17:22
标题: c#中的索引器是否只能根据数字进行索引,是否允许多个索引器参数?
c#中的索引器是否只能根据数字进行索引,是否允许多个索引器参数?
作者: 王宗伟    时间: 2012-4-9 17:41
如果你说的是索引下标的话,那就只能是数字
作者: 崔楠    时间: 2012-4-11 10:28
索引器允许类或结构的实例就像数组一样进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。索引用任何类型都可以的,但索引器必须和类同名
作者: 郭耀强    时间: 2012-4-11 11:23
不只是可以根据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); }
        }
    }

作者: ★心秒★    时间: 2012-4-11 12:23
你索引的参数类型不一样,就可存在多个的索引,如我们常用的有int、string、一个类的对象等等。这个东西你其实可以自己写一下,那样理解深刻一些,毕竟是你自己动手写的嘛!!   记忆深刻些!  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2