繁体   English   中英

CultureInfo 在 .NET 核心和 .NET 框架之间有所不同

[英]CultureInfo differs between .NET Core and .NET Framework

.NET Core.NET Framework之间的 CultureInfo 似乎存在一些差异。 这有什么理由吗?

例子:

var italian = CultureInfo.GetCultureInfo("it").TextInfo.CultureName;

.NET 上,核心解析为:

it

虽然它之前在.NET 框架上解决了:

it-IT

这打破了一些单元测试。 在两个干净的控制台项目中运行它会产生不同的结果。 尝试从 Nuget 添加 System.Globalization,结果没有差异。

是否需要一些配置才能使其相同,或者它们是否破坏了 CultureInfo altogheter?

我确认了这种行为,但 Core 更具决定性。

你要求文化“它”,你得到文化“它”。

.NET 框架正在添加更多详细信息并为其指定默认亚文化-IT。

如果你要求

var italian = CultureInfo.GetCultureInfo("it-IT").TextInfo.CultureName;

直接地。

您将在两个世界中得到相同的结果。

更改该字符串对于您的测试来说应该是一个小问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM