在C#中,我正在使用
CultureInfo.GetCultureInfo(myCulture)
但是字符串变量可能不符合良好的格式,有没有一种方法可以先尝试解析字符串或先验证它。
在C#中,我正在使用
CultureInfo.GetCultureInfo(myCulture)
但是字符串变量可能不符合良好的格式,有没有一种方法可以先尝试解析字符串或先验证它。
CultureInfo.GetCultures(CultureTypes.AllCultures)
接下来,您可以使用以下方法来替代GetCultureInfo
:
.FirstOrDefault(c => c.Name == myCulture)
与其使用AllCultures
,你可能想要筛选出SpecificCultures
。
Dictionary<,>
中获取所有文化。例如:static readonly Dictionary<string, CultureInfo> CultureDict = CultureInfo.GetCultures(CultureTypes.AllCultures).ToDictionary(c => c.Name);
- Jeppe Stig Nielsen没有使用Culture对象的TryParse方法。一种方法是按建议遍历所有Culture,查找其中一个;另一种方法是使用简单的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方法。
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
有什么关系呢? - Uwe Keim
int
- Habibstring
解析为CultureInfo
。 - Uwe Keim