gpt4 book ai didi

c# - .NET CultureInfo ru 和 ru-RU 之间的区别

转载 作者:行者123 更新时间:2023-11-30 13:16:55 25 4
gpt4 key购买 nike

我在 CultureInfo 类中发现了一件有趣的事情。我在 ASP.NET 中编写一个应用程序,我正在使用 Thread.CurrentThread.CurrentCulture 获取当前选择的语言,并且:

Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(alias);

有两个地方我可以在一个地方设置当前线程的文化,就像这样:

  1. Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("ru");

  2. Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo("ru-RU");

然后我突然发现文化 (1) 与文化 (2) 不同,但他们都是俄罗斯人。

是我做错了什么还是微软喝醉了?

编辑

@蒂姆施梅尔特

        var culture = CultureInfo.GetCultureInfo("ru");
var culture2 = CultureInfo.GetCultureInfo("ru-RU");
if (Equals(culture, culture2))
{
Console.Write(true);
return;
}
Console.Write(false);

问题是 - “为什么 Microsoft 将“ru”和“ru-RU”分开?

最佳答案

那是因为 CultureInfo.GetCultureInfo("ru") 返回 NeutralCultureCultureInfo.GetCultureInfo("ru-RU") 返回 特定文化。实际上,SpecificCulture 派生自NeutralCulture。所以答案是否定的,它们不一样,它们有不同的 LCID。

一般情况下,您应该始终使用 SpecificCulture。

关于CultureInfo建议阅读this MSDN article .

关于c# - .NET CultureInfo ru 和 ru-RU 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19378345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com