21
A
回答
9
不,沒有。可用的文化列表是系統特定的 - 您甚至可以使用CultureAndRegionInfoBuilder註冊新的自定義文化。
所以如果你想這樣做,你必須爲你感興趣的常見文化的子集創建自己的枚舉或常量,例如,:
public static class KnownCulture
{
public readonly String EnglishUS = "en-US";
public readonly String EnglishGB = "en-GB";
... etc ...
}
或
public enum KnownLCID
{
EnglishUS = 0x409,
EnglishGB = 0x809,
...
}
這是類似於KnownColor
枚舉:這是不可能創造所有可能的顏色是一種枚舉,但它可以是有意義的有常用的選項枚舉。
我不希望微軟提供等效KnownCulture
枚舉開箱即用,因爲它是相當敏感的(爲什麼不包括我的文化?)。
+1
「我不希望微軟開箱即用地提供一個等效的KnownCulture枚舉」,還有iso標準,其中的java區域設置如下... – NimChimpsky
22
是的,有,GetCultures:
System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.SpecificCultures)
返回數組CultureInfo
對象,所以如果你想要的字符串名稱,你可以使用類似:
IEnumerable<CultureInfo> cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
string[] names = cultures.Select(c => c.Name).ToArray();
注意「文化類型」枚舉(從MSDN鏈接)。我想最有用的將是中立文化和特定文化。
- NeutralCultures是與語言相關的,但不是具體到一個國家/地區的文化。 .NET Framework文化的名稱由ISO 639-1派生的小寫雙字母代碼組成。例如:「en」(英語)是一種中性文化。 自定義文化可以有任何用戶指定的名稱,而不只是一個雙字母代碼。 不變文化包含在由指定此值的CultureInfo.GetCultures方法返回的文化數組中。
- 特定文化特定於某個國家/地區的文化。這些文化的名稱遵循RFC 4646(Windows Vista和更高版本)。格式爲「 - 」,其中是從ISO 639-1派生的小寫雙字母代碼,是從ISO 3166派生的大寫雙字母代碼。例如,英語(美國)的「en-US」是特定文化。 自定義文化可以具有任何用戶指定的名稱,而不僅僅是符合標準的名稱。
- InstalledWin32Colures安裝在Windows操作系統中的所有文化。請注意,並非所有.NET Framework支持的文化都安裝在操作系統中。
- AllCultures .NET框架附帶的所有文化,包括中性和特定文化,安裝在Windows操作系統中的文化,以及用戶創建的自定義文化。
- UserCustomCulture由用戶創建的自定義文化。
- ReplacementCulture由用戶創建的自定義文化,用於替換.NET Framework附帶的文化。
相關問題
- 1. 如何翻譯CultureInfo語言名稱
- 2. 變量和常量的通用名稱
- 3. 常量狀態名稱
- 4. 動態常量名稱
- 5. C#DataContract與非常量變量名稱
- 6. PHP:用變量名稱回顯常量
- 7. 通過另一個名稱的常量
- 8. 用於CIFilter名稱的常量
- 9. Rails 3 AJAX:錯誤的常量名稱
- 10. 如何獲取常量的名稱?
- 11. 根據值確定常量的名稱
- 12. JavaScript:如何獲取常量的名稱?
- 13. 獲取字符串的常量名稱
- 14. 如何獲取常量的名稱?
- 15. 正常化JSON名稱的名稱
- 16. 爲UIImageView名稱使用常量
- 17. 作爲函數名稱調用常量?
- 18. 按名稱獲得常量值
- 19. 按名稱檢索Scala枚舉常量
- 20. ASP.Net HTML代碼窗口常量名稱
- 21. 常量數據庫名稱在SQL Server
- 22. 如何在文件中獲得常量名稱和常量值
- 23. 對象::屬性(常量字符*名稱)常量返回空QVariant
- 24. C#,日期時間格式化,蒙特名稱,cultureinfo
- 25. 通過CultureInfo檢索本地化語言名稱
- 26. 我可以使用常量名稱的變量訪問PHP類常量嗎?
- 27. 對於類名稱的Ruby未初始化的常量名稱錯誤
- 28. sphinx.ext.autodoc:保持簽名中的常量名稱
- 29. 如何訪問名稱包含在變量中的Perl常量?
- 30. 獲取包中聲明的所有變量和常量名稱
http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx –