2012-04-18 37 views
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個國家,請建議我解決這個問題。

感謝

回答

0

我想你需要改變這一行:

CultureInfo.GetCultures(CultureTypes.SpecificCultures) 

要這樣:

CultureInfo.GetCultures(CultureTypes.AllCultures) 

這將feach所有文化。如果你看到MSDN:

CultureTypes.AllCultures , which returns all neutral and specific cultures, cultures installed in the Windows operating system, and custom cultures created by the user.

CultureTypes.SpecificCultures , which returns all specific cultures.

參考here

+0

給出的錯誤:區域名稱ZH-CHS不應該對應中性文化;一個特定的文化名稱是必需的。 參數名稱:名稱 – DotnetSparrow 2012-04-18 07:30:17