我能想到的最有效和最典型的解决方案是:
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/