цикл через значения ArrayList в C#

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

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

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

5 ответов


вы можете попробовать этот код

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

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

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

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


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

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

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


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