请问如何访问ArrayList中某个数组元素的某个元素?

ktdg75296922 2009-05-06 09:04:45
现在有一个名为classes的ArrayList中有n个String[]数组。

现在要访问classes[i](实际是一个String[]数组)中的第0个String元素。

我尝试用classes[i][0],提示无法在object类型上应用[];

我换用((String[])(classes[i]))[0],能通过编译,但是在运行的时候提示无法将类型为“System.Collections.ArrayList”的对象强制转换为类型“System.String[]”。

求解,如何访问这个String元素?

3Q
...全文
480 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qxw0816 2009-05-07
  • 打赏
  • 举报
回复
你的程序中Add string[] 的地方应该有问题(猜的)
看看这个吧:

ArrayList arr=new ArrayList();
string []str1=new string[]{"1","2","3"}
string []str2=new string[]{"4","5","6"}
arr.Add(str1);
arr.Add(str2);
Response.Write(((string[])arr[0])[0]);
//输出1
zhuqueta0101 2009-05-07
  • 打赏
  • 举报
回复
把你ADD和定义的发来看看
月影 2009-05-06
  • 打赏
  • 举报
回复
IList strList = classes[i] as IList;

if(strList == null)
{
throw new Exception("这个元素为空,或者不是一个数组或者列表");
}

string theString = strList[j] as string;
huangheping520hhp 2009-05-06
  • 打赏
  • 举报
回复
先声明一个object变量,在遍历中将classes[i][0]赋给object变量
ktdg75296922 2009-05-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 KingOf007 的回复:]
MessageBox.Show(((String[])classes[0])[1]);
在2008中可以运行,估计你ARRAYLIST中放的东西类型不一致
[/Quote]

都是String。没有其他类型。
烈火蜓蜻 2009-05-06
  • 打赏
  • 举报
回复
classes[i].ToString();
KingOf007 2009-05-06
  • 打赏
  • 举报
回复
MessageBox.Show(((String[])classes[0])[1]);
在2008中可以运行,估计你ARRAYLIST中放的东西类型不一致
ginni215 2009-05-06
  • 打赏
  • 举报
回复
先转换为object类型,然后再转换成string数组类型,没有具体测试,看看行不行~~

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧