C#中ArrayList类定义的数组 如何访问数组里的元素??

定义了一个类VNodeclassVNode{privatestringdata;privateArcNodefirstarc;publicVNode()//构造函数{da... 定义了一个类VNode
class VNode
{
private string data;
private ArcNode firstarc;

public VNode() //构造函数
{
data = null;
firstarc = null;
}

public string Data //顶点属性
{
get
{
return data;
}
set
{
data = value;
}
}
}

现在在另一个类里用ArrayList定义一个数组 adjList, 这个数组中每个元素类型都是VNode
adjList = new ArrayList();
一开始要求数组是空的,执行时会动态添加VNode类型的数组元素
现在一个函数中要访问这个数组元素的Data属性 请问该如何访问?
展开
 我来答
一口没水的枯井
2015-06-27 · TA获得超过2988个赞
知道小有建树答主
回答量:473
采纳率:100%
帮助的人:151万
展开全部

1. 需强制转换成 你想要的类型

2. 示例代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList lst =new ArrayList(){ 2, 3, 4, 5 };

            //访问其元素值,强制转换
            for (int i = 0; i < lst.Count; i++)
            {
                Console.WriteLine((int)lst[i]);
            }

            Console.Read();
        }
    }
}

3. 运行结果如下:

平梦醉神风1I
推荐于2017-09-07 · TA获得超过1510个赞
知道小有建树答主
回答量:691
采纳率:0%
帮助的人:1037万
展开全部
只能通过下标访问 比如 adjList[index]

如果要找到Data属性相同的,只能遍历adjList,通过判断返回

ArrayList本身就是一个链表结构,不可能直接访问到其中的元素

如果想通过键直接访问到值,可以考虑用Dictionary

顺便提一句,在开发中已经不再使用ArrayList,而使用泛型类List<T>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdyujie232994
2011-08-11
知道答主
回答量:9
采纳率:0%
帮助的人:1.4万
展开全部
正如,刚才你所说的 “一开始要求数组是空的,执行时会动态添加VNode类型的数组元素”,你要在得到ArrayList数组之前 ,必须保证你的数组必须有资料,如果有了就可以查找,如:
VNode a = (VNode) adjList [ 1 ];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linkda
2011-08-11 · TA获得超过114个赞
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:204万
展开全部
for(int i=0;i<adjList.Count;i++)
{
VNode a = (VNode) adjList[i];
Response.Write(a.Data);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cldd2012
推荐于2017-10-04 · TA获得超过498个赞
知道小有建树答主
回答量:564
采纳率:0%
帮助的人:336万
展开全部
ArrayList myAL = new ArrayList();
myAL.Add("Hello");
myAL.Add("World");
myAL.Add("!");

Console.Write(myAL[1].ToString());

foreach (string tt in myAL)
{
Console.Write(tt);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式