ArrayList 显示的问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 07:37:08
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(al[0]);
}
public ArrayList al()
{
ArrayList al = new ArrayList();
al.Add("111");
al.Add("222");
al.Add("333");
al.Add("444");
al.Add("555");
return al;

}

打印不出al[0].这是为什么 ?无法将带 [] 的索引应用于“方法组”类型的表达式 ,我要怎么才可以显示出AL里面的内容呢?

protected void Page_Load(object sender, EventArgs e)
{
ArrayList alnum=al();
Response.Write(alnum[0]);
}
public ArrayList al()
{
ArrayList al = new ArrayList();
al.Add("111");
al.Add("222");
al.Add("333");
al.Add("444");
al.Add("555");
return al;

}

gdfgdd

你的方法名和局部变量名重了,会造成混淆
在类中al()被认为成员,所以你这里写的al会被认为是一个方法,返回值是一个ArrayList,则al()即代表这个ArrayList.
Response.Write(al()[0]);
你改成这样应该可以
推荐你把方法名首字母大写,易于区分

public ArrayList Al()
{
ArrayList al = new ArrayList();
al.Add("111");
al.Add("222");
al.Add("333");
al.Add("444");
al.Add("555");
return al;

}
但如果照Response.Write(al()[0]); 这样写每次计算都会经过一次方法调用和取值,开销会大几倍,你可以先把结果赋值给一个局部变量
ArrayList array = al();
Response.Write(array[0]);

把ArrayList al = new ArrayL