读书人

类的属性索引产生的数组有关问题

发布时间: 2011-12-31 23:50:30 作者: rapoo

类的属性索引产生的数组问题
index0 i = new index0();
i[0] = "sddssdsd";
i[1] = "sdsdhjhk";
this.Label3.Text = i[0];
this.Label4.Text = i[1];
}
public class index0
{
private string name;
public string this[int index]
{
get { return name; }
set { name=value; }
}
}
为什么this.Label3.Text,this.Label4.Text返回来的值都是i[0] = "sddssdsd";???如何改

[解决办法]
你确定是i[0]的值,应该都是i[1]的值吧
[解决办法]

index0 类内部,应该包含一个私有的集合成员(比如键值对),索引属性中的get返回集合对应的索引值
[解决办法]
index0 i = new index0();
i[0] = "sddssdsd";
i[1] = "sdsdhjhk";
this.Label3.Text = i[0];
this.Label4.Text = i[1];
}
public class index0
{
private ArrayList name = new ArrayList();
public string this[int index]
{
get { //加点代码还要判断索引长度,避免超出范围
...
return name[index].ToString(); }
set { name[index]=value; }
}
}

读书人网 >asp.net

热点推荐