索引跟类有什么关系呢??  请高手解析一下!!!
访问索引属性 String s = Request.QueryString["Name"];
String value = Request.Cookies["key"];
声明索引属性 
// Default Indexed Property
public String this[String name] {
get {
return (String) lookuptable[name];
}
}声明简单属性 public String name {get {
...
return ...;
}set {
... = value;
}}

解决方案 »

  1.   

    索引器与属性类似。除下表中显示的差别外,为属性访问器定义的所有规则同样适用于索引器访问器。属性                                          索引器 
    通过名称标识。                              通过签名标识。 
    通过简单名称或成员访问来访问。              通过元素访问来访问。 
    可以为静态成员或实例成员。                  必须为实例成员。 
    属性的 get 访问器没有参数。                 索引器的 get 访问器具有与索引器相同的形参表。 
    属性的 set 访问器包含隐式 value 参数。      除了 value 参数外,索引器的 set 访问器还具有 与                                          索引器相同的形参表。 
      

  2.   

    你是问那个public String this[String name] 中的this吧???一般这样写都是对于一个继承于CollectionBase的类来说的,这个类是通过它的"this[index]"属性返回一个组成这个Collection的实例,比如QueryString是由一些string组成的,它就返回一个string你完全可以把"this[String name]"整体当作一个属性,只不过它带有参数。其实属性相当于在C#中定义的一种特殊的方法,你可以把它当作方法看,这样在一些dll调用的时候,对于一些系统定义的结构,例如
    [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Auto)]
    public struct NMLISTVIEW
    {
    public NMHDR nmhdr;
    public int iItem;
    public int iSubItem;
    public uint uNewState;
    public uint uOldState;
    public uint uChanged;
    public POINTAPI ptAction;
    public IntPtr lParam;
    public bool NewSelected
    {
    get
    {
    return ((APIsEnums.ListViewItemStates)uNewState & APIsEnums.ListViewItemStates.SELECTED) == APIsEnums.ListViewItemStates.SELECTED;
    }
    }
    }系统是不会有NewSelected这样的属性放在这里的,这只不过是自己加的一种方法,它提供一种访问方式,实际在内存中存放的还是原来那个NMLISTVIEW结构那么多东西,并没有增加存储空间。。