C#中的arraylist中可以装object么,如何访问object的属性?最好有相关的代码说明。

 我来答
刷新①丅5e6
2012-10-30 · TA获得超过4333个赞
知道大有可为答主
回答量:1499
采纳率:64%
帮助的人:600万
展开全部
可以,ArrayList数组内元素可以是任何Object可接受的数据类型。
如果要访问ArrayList中Object元素的属性,那就要知道该元素的具体类型是什么,显式转换成该具体类型才能对它的属性进行访问。

下面是一个控制台应用程序中的写的说明代码

static void Main(string[] args)
{
ArrayList childArray1 = new ArrayList();
childArray1.Add("Hello!");

ArrayList childArray2 = new ArrayList();
int a = 12;
childArray2.Add(a);

ArrayList parentArray = new ArrayList();
parentArray.Add(childArray1);
parentArray.Add(childArray2);

//取childArray1的count属性
Console.WriteLine(((ArrayList)parentArray[0]).Count);
//取childArray2的第一个元素的value
Console.WriteLine(((ArrayList)parentArray[1])[0]);

Console.ReadKey();
}
追问
Console.WriteLine(((ArrayList)parentArray[0]).Count);这里的parentArray[0]必须要显示转换为ArrayList么?前面不是已经声明了parentArray是ArrayList 类型的对象了吗?
追答
parentArray是ArrayList,但是parentArray[0](第一个元素)被压入数组后就自动退化成Object类型了,所以取出第一个元素的时候要把它还原为它本来的类型..注意:parentArray和parentArray[0]不是一个东西..
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式