FindSystemTimeZoneById 不返回新对象

FindSystemTimeZoneById(String) 返回的 TimeZoneInfo 对象现在是缓存的 TimeZoneInfo 实例,而不是新对象。

旧行为

TimeZoneInfo.FindSystemTimeZoneById(String) 返回一个新的 TimeZoneInfo 对象。

新行为

从 .NET 8 开始,TimeZoneInfo.FindSystemTimeZoneById(String) 会返回一个缓存的 TimeZoneInfo 实例。

引入的版本

.NET 8

中断性变更的类型

此更改为行为更改

更改原因

此更改为的是在调用 FindSystemTimeZoneById(String) 时提高性能。 有关详细信息,请参阅 dotnet/runtime 拉取请求 #85615

如果代码依赖于 FindSystemTimeZoneById(String) 来创建 TimeZoneInfo 的新实例,请重构代码以改为调用其中一种方法

受影响的 API