C# 为什么LCID不是唯一的?
为什么LCID不是唯一的?我的代码:C# 为什么LCID不是唯一的?,c#,.net,cultureinfo,lcid,C#,.net,Cultureinfo,Lcid,为什么LCID不是唯一的?我的代码: var data = CultureInfo.GetCultures(CultureTypes.AllCultures) .OrderBy(n=>n.LCID).ToArray().GroupBy(s => s.LCID) .Where(n=>n.Count() > 1).SelectMany(m => m); 我看到两个LCID不是唯一的:4和31748 因此,我不能使用这样的代码: Dictionary<In
var data = CultureInfo.GetCultures(CultureTypes.AllCultures)
.OrderBy(n=>n.LCID).ToArray().GroupBy(s => s.LCID)
.Where(n=>n.Count() > 1).SelectMany(m => m);
我看到两个LCID不是唯一的:4和31748
因此,我不能使用这样的代码:
Dictionary<Int32, CultureInfo> valid_lcids =
CultureInfo.GetCultures(CultureTypes.AllCultures).ToDictionary(
c => c.LCID, c => c);
字典有效\u lcid=
CultureInfo.GetCultures(CultureType.AllCultures).ToDictionary(
c=>c.LCID,c=>c);
尝试使用CultureType.SpecificCultures这是因为(4)中文(简体)和中文(简体)遗产列在所有文化
属性中。同样适用于(31748)、中文(繁体)。但这可能不是你想知道的;)LCID在过去10年中一直被弃用。基本原因:)操作系统现在也使用.NET使用的区域性标识符,如“en-US”。因此,停止使用LCID。CultureInfo.GetCultures(CultureTypes.SpecificCultures)不会返回具有唯一LCID的区域性