c#中的索引器

msdn参考:http://msdn.microsoft.com/zh-cn/library/6x16t2tx(v=VS.80).aspx

索引器允许类或结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。

索引器的声明方式

public 返回类型 this[index类型 index参数]
{
   get{ return 返回类型数值;}
   set{ 字段数组[index参数]=value;}
}

运用例举

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 索引器
{
    class Program
    {
        static void Main(string[] args)
        {
            myindex mi = new myindex();
            mi[2] = "项目2";
            mi[8] = "项目3";
            mi[9] = "项目X";
            for (int i = 0; i < 10; i++)
            {
                Console.WriteLine(mi[i]);
            }
        }
    }

    class myindex
    {
        private string[] strarray=new string[100];//类型中的私有数组字段
        public string this[int index]//创建的索引器,以string类型作为索引参数
        {
            get {
                if (index >= 0 && index < 100)
                    return strarray[index];
                else
                    return "不存在";
            }
            set {
                if (index >= 0 && index < 100)
                    strarray[index] = value;
            }
        }    
    }
}

可以看到可通过索引器来为类型中的数组序列进行取值赋值~

 

posted @ 2012-05-31 23:25  MadKeX  阅读(239)  评论(0编辑  收藏  举报