类的属性索引产生的数组问题
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; }
}
}