0

场景:我正在尝试用一天中的所有时间填充 C# 列表,如下例所示:

上午 00 点至下午 23 点。

有人可以帮助我这是否可以通过 LINQ 或类似方法实现?

谢谢。

4

2 回答 2

4

假设您希望两个连续值之间的差异为一秒,您可以使用以下查询:

var result = Enumerable.Range(0, 23 * 3600).Select(x => TimeSpan.FromSeconds(x)).ToList();

该数字23 * 3600代表 00:00 到 23:00 之间的总秒数。如果您想获得每分钟的值,请使用以下命令:

var result = Enumerable.Range(0, 23 * 60).Select(x => TimeSpan.FromMinutes(x)).ToList();
于 2012-07-11T06:35:47.457 回答
2
DateTime date = new DateTime(); 
var result = Enumerable.Repeat(date, 24)
                       .Select((x, i) => x.AddHours(i).ToString("HH tt"));
于 2012-07-11T06:40:03.593 回答