C# 循环遍历C中ArrayList的值#

C# 循环遍历C中ArrayList的值#,c#,arraylist,osc,C#,Arraylist,Osc,我正试图弄清楚这些消息包含哪些通过OSC传输的信息。消息正在存储到ArrayList中。代码如下: public void OSCMessageReceived(OSC.NET.OSCMessage message){ string address = message.Address; ArrayList args = message.Values; } 如何循环arrayList参数的值以输出其内容?您可以使用此代码进行尝试 foreach(var item

我正试图弄清楚这些消息包含哪些通过OSC传输的信息。消息正在存储到ArrayList中。代码如下:

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

如何循环arrayList参数的值以输出其内容?

您可以使用此代码进行尝试

foreach(var item in args )
{
  Console.WriteLine(item);
}
您还可以对循环使用

for (int i = 0; i < al.Count; ++i)
{
    Console.WriteLine(al[i]);
}
for(int i=0;i
您可以为
循环使用一个简单的

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

查看C#ArrayList对象的更多信息。

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


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

foreach()和for(int i=0;…)滚动查看ArrayList的所有条目。但是,foreach()似乎按照它们添加到ArrayList的顺序滚动它们。使用for(inti=0;…)我观察到(VisualStudio2005)这不一定是真的。我在一个案例中体验到,当添加到ArrayList的对象是simpleint时,情况就是这样。但是,当添加的对象属于复杂类类型时,滚动顺序不再对应于它们添加到ArrayList的顺序。

foreach(args中的对象o)控制台。WriteLine(o)注意:
ArrayList
List
的旧的非泛型变体,可以像
List
一样使用,只是项目被键入为
object
。这两种方法是等效的,永远不会导致不同的顺序?
for (i = 0; i < args.Count; i++)
{
    Console.WriteLine(args[i].ToString());
}