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