循环遍历C#中ArrayList的值

时间:2012-09-27 16:46:35

标签: c# arraylist osc

我正在试图弄清楚这些消息包含哪些信息正在通过OSC进行流式处理。消息存储在ArrayList中。这是代码:

public void OSCMessageReceived(OSC.NET.OSCMessage message){ 
        string address = message.Address;
        ArrayList args = message.Values;
}

如何遍历arrayList args的值以输出其内容?

5 个答案:

答案 0 :(得分:8)

您可以尝试使用此代码

foreach(var item in args )
{
  Console.WriteLine(item);
}

答案 1 :(得分:2)

ArrayList al = new ArrayList(new string[] { "a", "b", "c", "d", "e" });
foreach (var item in al)
{
    Console.WriteLine(item);
}

您还可以使用for循环。

for (int i = 0; i < al.Count; ++i)
{
    Console.WriteLine(al[i]);
}

答案 2 :(得分:2)

您可以使用简单的for循环:

for (i = 0; i < args.Count; i++)
{
    Console.WriteLine(args[i].ToString());
}

查看this link here以获取有关C#ArrayList对象的更多信息。

答案 3 :(得分:0)

除非您知道ArrayList中的对象类型,否则您唯一的选择就是在每个项目上调用ToString()方法。

如果您确实知道对象的类型,可以将它们转换为适当的类型,然后以更智能的方式打印内容。

答案 4 :(得分:-1)

foreach() for(int i = 0; ...)滚动浏览ArrayList的所有条目。但是,似乎 foreach()按照它们添加到ArrayList的顺序滚动它们。使用 for(int i = 0; ...)我观察到(Visual Studio 2005),这不一定是真的。我在一个案例中遇到过,当添加到ArrayList的对象是简单的 int 时,就是这种情况。但是,当添加的对象是复杂的类类型时,滚动顺序不再与它们添加到ArrayList的顺序相对应。