У меня есть IObservable [именованные строки в примере ниже] из инфраструктуры расширений Reactive, и я хочу добавить индексные номера для каждого объекта, который он наблюдает.
Я пытался реализовать это с помощью функции Zip:
rows.Zip(Enumerable.Range(1, int.MaxValue), (row, index) =>
new { Row = row, Index = index })
.Subscribe(a => ProcessRow(a.Row, a.Index), () => Completed());
.. но, к сожалению, это бросает
ArgumentOutOfRangeException:
Указанный аргумент находится вне диапазона допустимых значений.
Наименование параметра: расходные материалы
Я неправильно понимаю функцию Zip или есть проблема с моим кодом?
Часть кода Range, похоже, не является проблемой, а IObservable пока не получает никаких событий.