可从时间戳列表中观察到

2023-12-13

如果我有一个包含时间戳的对象列表 - 如何制作一个在时间戳之间的相对时间触发事件的可观察对象?

例如。如果我有三个时间戳为 2014-01-01 10:30、2014-01-01 10:45 和 2014-01-01 11:30 的对象,我希望第一个事件立即触发,然后在下一个 15 分钟后触发,以及 45 分钟后的最后一场。

如何加快该过程,使 1 分钟等于 1 秒?因此,第一个事件将像以前一样立即触发,但下一个事件将在 15 秒后发生,而不是 15 分钟,依此类推。


我确信有很多方法可以做到这一点,但这里有一个使用 Observable.Generate 在特定时间安排事件的快速示例。它使用事件列表 - 但鉴于它与迭代器一起使用,您可以轻松地调整它以使用另一个源:

void Main()
{
    var now = DateTime.Now;

    var events = new List<Tuple<DateTime, string>> {
        Tuple.Create(now.AddSeconds(5), "A"),
        Tuple.Create(now.AddSeconds(10), "B"),
        Tuple.Create(now.AddSeconds(15), "C")
    };

    var eventSource = Observable.Generate(
        (IEnumerator<Tuple<DateTime,string>>)events.GetEnumerator(),
        s => s.MoveNext(),
        s => s,
        s => s.Current.Item2, // the data
        s => s.Current.Item1); // the timing

    eventSource.Subscribe(Console.WriteLine);                       
}

这将在启动后写出“A”、“B”和“C”以及 5、10 和 15 秒。

为了加快时间,您可以在如何解释预定时间方面添加一些逻辑。另一种使用方法是HistoricalScheduler. See 这个答案对此有一些见解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可从时间戳列表中观察到 的相关文章

  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • .NET 中是否有内置函数可以对密码进行哈希处理?

    我看到这个问题加密 散列数据库中的纯文本密码 https stackoverflow com questions 287517 encrypting hashing plain text passwords in database 我知道我
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 对现有视频添加水印

    我正在寻找一种用 C 在视频上加水印的方法 就像在上面写文字一样 图片或文字标签 我该怎么做 谢谢 您可以使用 Nreco 视频转换器 代码看起来像 NReco VideoConverter FFMpegConverter wrap new
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低

随机推荐

  • 自定义产品销售 Flash 徽章

    我正在尝试使用下面的此代码片段在销售闪存徽章上添加节省总额 但由于它不起作用而出现问题 任何建议将不胜感激 Add save amount on the sale badge add filter woocommerce sale flas
  • C#/Oracle:指定查询的编码/字符集?

    我正在尝试获取 Oracle 10 数据库的一些数据 有些单元格包含德语元音变音 在我的管理工具中 TOAD 我可以清楚地看到它们 Mantel f r Damen 女式夹克 这是我的 C 代码 简化 var oracleCommand n
  • Chrome Devtools 工作区映射不再起作用

    这曾经很有魅力 我过去已经使用相同的硬件 软件设置了十几次 但现在失败了 编辑所需的权限已到位 因为我可以在 Devtools 中编辑文件 如果我直接从源选项卡中的本地工作区打开它 编辑并保存它 但这当然并不比使用任何其他 IDE 更好 因
  • Javascript - 等待图像加载

    var l false var l2 false var imm new Image imm src b png imm onload function l true var imm2 new Image imm2 src c png im
  • jquery中如何获取HiddenFor控件的值

    我有一个隐藏的控制 Html HiddenFor m gt m SchedulingProfileDetails Id 我试图访问 jquery 中这个隐藏字段中的值 然后尝试将该值传递给控制器 var id SchedulingProfi
  • 为什么我在 Perl 中出现“在 ... 处的 printf 中缺少参数”?

    我有 Perl 代码 正在打印到文件 我给出格式 my format 4d 2d 2d 2d 2d 2d 7 2f x 9 n 因为我写的是年月日时分秒和 9 个浮点值 然后我将输出文件写入为 printf format data prin
  • 谁能帮我查一下我的体重指数计算器吗? (C#)

    我一周前刚刚开始编程 我的第一个任务是编写 BMI 计算器的代码 启动时它应该看起来像这样 BMI Calculator Your weight in kg x Your height in cm x Gender m f x gt You
  • 操作方法:Outlook 2016 for Mac - 在 Outlook 加载项中调试/查看控制台日志

    我们开发了一个使用 html5 js 的 Outlook 应用程序 现在称为加载项 最初适用于 OWA 但现在面向所有 Office 支持的平台 事实上 它似乎适用于所有平台 ios mac 上的 safari Windows 浏览器和 O
  • 提交时如何同步 VSTS 和 Github 存储库

    我在 Visual Studio 团队服务中有一个存储库 我希望它与 github 存储库保持同步 这允许我在 VSTS 中进行主要开发 当合并到 master 时 它将同步到 github 并且还允许其他人在 github 上做出贡献 当
  • NSWindow翻转动画(简单通用)

    如何在不进行复杂编码的情况下为 OS X 应用程序窗口制作翻转动画 最后 我做到了 我创建了与 NSWindowController 对象而不是 NSWidows 一起使用的对象 ALWindowFlipAnimator h import
  • 谷歌地图 API v3 |没有显示地图数据

    我正在为我们当地的消防员之家编写一个小型 JavaScript 应用程序 该应用程序有点像 powerpoint 等 但是是 html 格式的 在此应用程序中 我将显示一个谷歌地图 其中包含显示从消防员家到火灾地点的路线 我使用 jquer
  • python tkinter从命令中使用的函数返回值[重复]

    这个问题在这里已经有答案了 如何获取A到C的返回值 顺便说一下 我没有使用类 def button mylabel Label myGui text hi grid row 0 column 0 A B get return A B Str
  • 创建许可系统[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我为我工作的公司开发了一个信息管理系统 现在我想制作一种许可系统 以帮助防止任何人仅仅获取副本并将其设置在自己的家庭服务器上并将其用于任何目的 我知道也许最简单的方法是在系统的每
  • 将十六进制地址传递给指针变量

    我知道如何使用指针 但我不知道该怎么做 我有一个十六进制地址 当然它具有来自任何应用程序的任何值 我知道找到我想要的地址 我想编写一段 C 代码来将此地址传递给指针变量 然后我可以从该地址捕获值 依此类推 例如 hex 0x00010010
  • 将列名传递给函数

    我有一个非标准评估的简单问题 将变量名作为参数传递到函数中 作为一个可重现的例子 这是一件简单的事情 取一个变量的平均值 mpg来自mtcars数据集 我的最终目标是拥有一个可以输入数据集和变量并获取平均值的函数 所以没有函数 librar
  • 如何在 URL 中隐藏控制器名称?

    如何在 URL 中隐藏控制器名称 我使用 ASP NET MVC 原来的网址是 http www sample com Users mvc UserDetail 9615 Users 是控制器名称 UserDetail 是操作名称 9615
  • PCRE 正则表达式 到 sed 正则表达式

    首先 我很抱歉我的英语不好 我是一个德国人 下面给出的代码在 PHP 中运行良好 string preg replace href i href 1 string 现在T需要同样的sed 我认为应该是 sed s href href 1 g
  • 如何在您的应用程序中使用标准 Mac OS X 图标?

    如何在您的设计 应用程序中使用标准 Mac OS X 图标 By standard icons I mean toolbar icons from this screenshots 是否有存储这些文件的位置或有什么方法可以从 Mac OS
  • 水平和垂直手风琴

    我想在 asp net 中创建水平和垂直的手风琴 我已经使用 Ajax Toolkit Accordion 但无法更改其方向 created using ajax toolkit looking for this 这是 ASP NET C
  • 可从时间戳列表中观察到

    如果我有一个包含时间戳的对象列表 如何制作一个在时间戳之间的相对时间触发事件的可观察对象 例如 如果我有三个时间戳为 2014 01 01 10 30 2014 01 01 10 45 和 2014 01 01 11 30 的对象 我希望第