Зацикливание значений ArrayList в С#

Я пытаюсь выяснить, какая информация содержит эти сообщения, которые передаются через OSC. Сообщения сохраняются в ArrayList. Вот код:

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

Как мне перебирать значения аргументов arrayList для вывода его содержимого?

Ответ 1

вы можете попробовать с помощью этого кода

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

Ответ 2

Вы можете использовать простой цикл for:

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

Обратитесь эту ссылку здесь для получения дополнительной информации о объекте С# ArrayList.

Ответ 3

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]);
}

Ответ 4

Если вы не знаете тип объектов в ArrayList, единственным вариантом является вызов метода ToString() для каждого элемента.

Если вы знаете тип объектов, вы можете применить их к соответствующему типу, а затем распечатать контент более разумным способом.

Ответ 5

Оба foreach() и для (int я = 0;...) просматривают все записи ArrayList. Однако кажется, что foreach() прокручивает их в том порядке, в котором они были добавлены в ArrayList. С for (int я = 0;...) Я заметил (Visual Studio 2005), что это не обязательно так. В одном случае я столкнулся с тем, что когда объекты, добавленные в ArrayList, были простыми int, это было так. Однако, когда добавленные объекты имеют сложный тип класса, порядок прокрутки больше не соответствует порядку, в котором они были добавлены в ArrayList.