gpt4 book ai didi

c# - IEnumerable 到具有间隔的 Observable

转载 作者:行者123 更新时间:2023-11-30 20:38:20 25 4
gpt4 key购买 nike

为了每 5 秒生成一个“度量”,我正在做类似的事情:

var Events = Observable.
Interval(TimeSpan.FromSeconds(5)).
Select(i => factory.GenerateRandomMeasure())

我想做同样的事情,但基于现有的 Measure 集合。我假设我必须做类似的事情:

var Events = existingList.ToObservable();

但是是否可以添加一个间隔概念来让每个列表项都有一个间隔? (例如每 5 秒一个项目)

最佳答案

您可以执行以下任一操作:

(1)

var Events =
Observable
.Interval(TimeSpan.FromSeconds(5))
.Zip(existingList, (i, x) => x)
.Select(i => factory.GenerateRandomMeasure());

(2)

var Events2 =
Observable
.Generate(
0,
x => x < existingList.Count,
x => x + 1,
x => existingList[x],
x => TimeSpan.FromSeconds(5))
.Select(i => factory.GenerateRandomMeasure());

第一个可能更明智,也更容易编写。第二个非常值得学习,如果您还不知道的话,因为 .Generate 非常强大,可以在很多地方使用。

关于c# - IEnumerable 到具有间隔的 Observable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35247499/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com