c# - 有哪些方法可以动态获取 DateTime.Now.AddDays(0..7) 的列表?

标签 c# .net optimization performance

我能想到的最有效和最典型的解决方案是:

var dates = new DateTime[7];
for (int i = 0; i < 7; i++)
  dates[i] = DateTime.Now.AddDays(i);

这将返回一个数组中的七 (7) 个日期,这是我想要的结果。我认为 ruby​​ 可以做这样的事情,只需指定点,但我想不起来了。

但是,有没有更有效的方法呢?或者有什么方法可以使用 linq 来实现这一点(可能通过 Aggregate 方法?),如果有的话,即使它不是最有效的解决方案,我也很想知道。

理想情况下,它不需要您为所需的“次数”重新声明任何对象实例,并允许您仅指定一次 DateTime.Now 以及其中的项目数您只需要一次的数​​组/列表。

谢谢

最佳答案

我会使用 Enumerable.Range ,这在生成数据序列时非常方便:

var now = DateTime.Now;
var dates = Enumerable.Range(0, 7).Select(n => now.AddDays(n)).ToArray();

关于c# - 有哪些方法可以动态获取 DateTime.Now.AddDays(0..7) 的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5726527/

相关文章:

Mysql - 帮助优化查询

c# - 拆分大型 DataGridView 进行打印

c# - 使用 T4MVC 在 RedirectToAction() 中传递一个对象

c# - 使用 XDocument 将多个不同类型的对象序列化为单个 XML

c# - 查找调用者方法名称

c# - 使用 AAD 应用程序访问 Microsoft Graph

c# - 在预定义的时间高效运行数十万个函数

c# - 如何将 SDL 视频嵌入现有 OpenGL 项目

c# - 是否有一种类型同时包含 : List<T> and also HashSet<T>?

java - 优化算法 [编译就绪代码]