1、为类或结构创建索引器
声明索引器类型,后跟关键字this,然后在方括号中添加索引器参数。如
struct RawInt
{
  ...
  public bool this[int index]
  {
    get{...}
    set{...}
   }
  ...
}

2、在接口中定义索引器
使用get以及/或者set关键字来定义一个索引器。如
interface IRawInt
{
  bool this [int index]{get;set;}
}

3、在类或结构中实现一个接口索引器

struct RawInt:IRawInt
{
  ...
  public bool this[int index]
  {
    get{...}
    set{...}
  }
  ...
}

4、在类或结构中,采取“显式接口实现”来实现接口定义的索引器
在实现接口的类或结构中,显式命名接口,但不要指定索引器的可访问性。如
struct RawInt : IRawInt
{
  ...
  bool IRawInt.this [int index]
  {
     get{...}
     set{...}
   }
   ...
}