5

在 C# 中,我正在使用

CultureInfo.GetCultureInfo(myCulture)

但是字符串变量的格式可能不是很好,有没有办法先尝试解析字符串或先验证它。

4

3 回答 3

9

以下产生了所有文化的集合:

CultureInfo.GetCultures(CultureTypes.AllCultures)

从那里,而不是GetCultureInfo你可以做的:

.FirstOrDefault(c => c.Name == myCulture)

而不是AllCultures您可能想要过滤掉SpecificCultures.

于 2012-09-10T05:10:50.117 回答
-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();
}
于 2015-01-26T09:45:49.603 回答
-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);
于 2012-09-10T05:13:25.607 回答