1

次のコードを使用して、ローカライズされた国名 (その言語での国名) を表示していますが、ジンバブエのようにほとんどの国が欠落しています:

Dictionary<string, string> objDic = new Dictionary<string, string>();

                foreach (CultureInfo ObjCultureInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
                {
                    RegionInfo objRegionInfo = new RegionInfo(ObjCultureInfo.Name);
                    if (!objDic.ContainsValue(objRegionInfo.TwoLetterISORegionName.ToLower()))
                    {
                        objDic.Add(objRegionInfo.NativeName, objRegionInfo.TwoLetterISORegionName.ToLower());
                    }
                }

                var obj = objDic.OrderBy(p => p.Key);
                foreach (KeyValuePair<string, string> val in obj)
                {
                    cmbCountry.Items.Add(new ListItem(val.Key, val.Value.ToUpper()));
                }

245 か国のうち 127 か国が表示されています。これに対する解決策を教えてください。

ありがとう

4

1 に答える 1

0

この行を変更する必要があると思います:

CultureInfo.GetCultures(CultureTypes.SpecificCultures)

これに:

CultureInfo.GetCultures(CultureTypes.AllCultures)

それはすべての文化に影響を与えます。msdn が表示された場合:

CultureTypes.AllCultures は、すべてのニュートラル カルチャと特定のカルチャ、Windows オペレーティング システムにインストールされているカルチャ、およびユーザーによって作成されたカスタム カルチャを返します。

CultureTypes.SpecificCultures 、すべての特定のカルチャを返します。

ここを参照

于 2012-04-18T07:23:54.553 に答える