Dot-Net
將三字母語言名稱解析為文化資訊
我正在使用一個 API,它返回有關文件中音頻流的一些資訊,更具體地說,是其三字母 ISO 名稱 ( ISO 639-2 ) 表示形式的音頻語言。
我想將此資訊解析為新的CultureInfo對象,但沒有建構子採用三字母程式碼。我當然可以編寫一個巨大的 select 語句(為 C# 人員切換),但我認為首先詢問更好的方法會更具成本效益。那麼是我運氣不好還是有一種秘密方法可以使用三個字母名稱創建 CultureInfo 對象?
編輯:對不起,我使用了錯誤的屬性:
public static CultureInfo FromISOName(string name) { return CultureInfo .GetCultures(CultureTypes.NeutralCultures) .FirstOrDefault(c => c.ThreeLetterISOLanguageName == name); }但是,列表中仍然存在重複項,並且不支持“dut”。
我會選擇 Balazs 解決方案,但在您的情況下使用 CultureTypes.NeutralCultures 會更好,因為您似乎並不關心地區/國家數據。
它總是返回一個不需要 FirstOrDefault 的 CultureInfo