在 DateTime 上使用 DateTimeKind 触发 V3058

Using DateTimeKind on DateTime triggers V3058

var dict1 = new Dictionary<DateTime, int>()
{
    [new DateTime(0, DateTimeKind.Utc)] = 0,
    [new DateTime(1, DateTimeKind.Utc)] = 1
}

dict1 触发 V3058 "V3058 An item with the same key '1' has already been added.".

https://www.viva64.com/en/w/V3058/ 声明它警告问题,这将导致 ArgumentException。 这显然不是这里的情况,因为密钥不同。

从 ctors 中遗漏 DateTimeKind.UTC 将停止触发 V3058。

var dict2 = new Dictionary<DateTime, int>()
{
    [new DateTime(0)] = 0,
    [new DateTime(1)] = 1
}

感谢您的反馈!我们将解决问题并让您知道结果。 PVS-工作室团队。