цикл через значения ArrayList в C#
Я пытаюсь выяснить, какую информацию содержат эти сообщения, которые передаются через OSC. Сообщения сохраняются в ArrayList. Вот код:
public void OSCMessageReceived(OSC.NET.OSCMessage message){
string address = message.Address;
ArrayList args = message.Values;
}
как перебирать значения ArrayList args для вывода его содержимого?
5 ответов
Вы можете использовать простой 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.