在C#中,我正在使用
CultureInfo.GetCultureInfo(myCulture)
但字符串变量可能格式不正确,有没有办法先尝试解析字符串或先验证它。
答案 0 :(得分:8)
以下是所有文化的集合:
CultureInfo.GetCultures(CultureTypes.AllCultures)
从那里开始,而不是GetCultureInfo
你能做到:
.FirstOrDefault(c => c.Name == myCulture)
而不是AllCultures
您可能希望过滤掉SpecificCultures
。
答案 1 :(得分:-1)
没有带有文化对象的tryparse。一种方法是按照建议浏览所有文化并查找其中一种方法,另一种方法是使用简单的try解析:
try
{
// making sure the lang is a calture
System.Globalization.CultureInfo c = new System.Globalization.CultureInfo(lang);
}
catch
{
lang = Session["lang"].ToString();
}
答案 2 :(得分:-3)
我总是在我的项目中使用一个小帮手。所有算术类型都有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);