Лучший способ перебрать две разные коллекции в одном цикле - использовать индексаторы.
For index As Integer = 0 To recLine.channels.Count - 1
data(index) = func(chan(index))
Next
Как комментарии @ 0xA3, вы также можете использовать цикл while, вызывая GetEnumerator
, MoveNext
и Current
непосредственно для каждой коллекции, но это ничего не дает.
Я понимаю, что вы хотите избегать использования индексаторов, но нет простой языковой поддержки для чего-либо еще.
Это касается и C #.
Почему вам нужно избегать индексаторов?