【发布时间】:2021-12-17 16:16:21
【问题描述】:
我正在尝试对一组时间戳 (DateTime) 进行分组,我可以看到 groupby 在我们的生产环境中产生重复的键。
foreach (var price in prices.GroupBy(x => x.Timestamp))
{
logger.LogInformation($"{price.Key.ToString("yyyy-MM-dd HH:mm:ss.fff")}");
}
2021-10-01 20:54:49.661
2021-10-01 21:00:00.356
2021-10-03 21:05:03.816
2021-10-03 21:05:15.876
2021-10-03 21:05:29.140
2021-10-03 21:05:51.356
2021-10-03 21:06:04.996
2021-10-03 21:06:15.308
2021-10-03 21:06:44.648
2021-10-03 21:06:58.521
2021-10-01 20:54:49.661
2021-10-01 21:00:00.356
2021-10-03 21:05:03.816
2021-10-03 21:05:15.876
2021-10-03 21:05:29.140
2021-10-03 21:05:51.356
2021-10-03 21:06:04.996
2021-10-03 21:06:15.308
2021-10-03 21:06:44.648
2021-10-03 21:06:58.521
在我的本地机器上,完全相同的代码会生成以下正确的代码
2021-10-01 20:54:49.661
2021-10-01 21:00:00.356
2021-10-03 21:05:03.816
2021-10-03 21:05:15.876
2021-10-03 21:05:29.140
2021-10-03 21:05:51.356
2021-10-03 21:06:04.996
2021-10-03 21:06:15.308
2021-10-03 21:06:44.648
2021-10-03 21:06:58.521
有人知道为什么会这样吗?
【问题讨论】:
-
您的精度似乎有问题。这些键没有重复,但是当您格式化它们时,您只使用使它们重复的 2 精度刻度。如果你想要这个输出,你应该在分组时使用相同的格式。
-
@Eldar 分组发生在日期时间。输出刚刚格式化以进行故障排除。
标签: c# linq asp.net-core .net-core