注册 登录
编程论坛 ASP.NET技术论坛

[求助]希望指教c#中索引指示器的两个问题(我研究了两天未果。。。)

kingln 发布于 2007-07-31 10:14, 691 次点击

public class arr 请问这里创建的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;
}

}

}




protected void Page_Load(object sender, EventArgs e)
{
int size = 15;
arr WHITE = new arr(size);因为前面说了我弄不清楚这是个什么类,所以这个对象就不知道是什么对象了?
WHITE[1] = "李楠"; 是索引对象么?
WHITE[3] = "许倩";
WHITE[5] = "爱人";
for(int i=0;i<size;i++)
{
Response.Write(WHITE[i]);


}

}



最后问题:网上流传的定义说是索引器能让对象相数组一样根据下表进行访问。那么我定义的那个东西WHITE[1],WHITE[3]我用gettype作了个试验,结果说他是个字符窜,根本不是对象。。。。有那个高人能说得详细写啊,我在这里打转转好几天了。

4 回复
#2
冰彩虹2007-07-31 12:54
arr是一个容器类,arr WHITE = new arr(size);这样就类似声明开辟了size大小的string数组;
public string this[int j]声明提供了索引功能,可利用类似WHITE[0]、WHITE[1]这样来访问里面的对象数据

WHITE[1].GetType()当然返回的是字符串类别呀(myarr=new string[size];)
#3
kingln2007-07-31 13:16

明白写了,但是还是不明白容器类是什么?里面保存的是什么

#4
冰彩虹2007-07-31 13:23

这就要看你想在里面保存什么了,楼主贴出来的里面就是保存String类型数据的呀

private string[] myarr;

#5
kingln2007-07-31 15:14

恩 我好像明白了 再去体会体会 谢谢斑竹

1