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
的新实例,请重构代码以改为调用其中一种方法。