在C#中,我使用有沒有辦法來「試分析」的字符串System.Globalization.CultureInfo
CultureInfo.GetCultureInfo(myCulture)
但字符串變量可能無法在一個良好的格式來了,是有辦法先嚐試解析字符串或先驗證它。
在C#中,我使用有沒有辦法來「試分析」的字符串System.Globalization.CultureInfo
CultureInfo.GetCultureInfo(myCulture)
但字符串變量可能無法在一個良好的格式來了,是有辦法先嚐試解析字符串或先驗證它。
下產生各種文化的集合:
CultureInfo.GetCultures(CultureTypes.AllCultures)
從那裏,而不是GetCultureInfo
你可以這樣做:
.FirstOrDefault(c => c.Name == myCulture)
不是AllCultures
你可能要過濾掉SpecificCultures
。
如果這是你一直都在做的事情,你甚至可以在「字典<,>」中找到所有文化。如:靜態只讀字典<字符串,CultureInfo> CultureDict = CultureInfo.GetCultures(CultureTypes.AllCultures).ToDictionary(c => c.Name);' –
謝謝,我將此作爲答案 –
我總是在我的項目中使用一個小助手。所有算術類型得到的TryParse方法
public static bool TryParseDouble(this string text, out double value)
{
return double.TryParse(text, NumberStyles.Any,
CultureInfo.InvariantCulture, out value);
}
的使用
double value;
bool isStringOK = theString.TryParseDouble(out value);
那麼'double'與原始海報問的「CultureInfo」有什麼關係? –
@UweKeim問題不明確。 –
沒有與文化的對象沒有的TryParse。一種方法是按照建議瀏覽所有文化,尋找一個,另一種方法是使用簡單的嘗試解析:
try
{
// making sure the lang is a calture
System.Globalization.CultureInfo c = new System.Globalization.CultureInfo(lang);
}
catch
{
lang = Session["lang"].ToString();
}
你永遠不該做這樣的事情!改變'catch'爲'catch(CultureNotFoundException ex)'。 – Peter
tryParse是什麼?到'int' – Habib
@Habib當他在標題中寫道時,他想要將'string'解析爲'CultureInfo'。 –
@UweKeim,現在看到答案,問題變得更加清晰。 – Habib