有些类型有TryParse方法,例如它是Int32、Int64、Boolean等等。它允许检查字符串值而不使用try\catch块。当在一个周期中处理许多不正确的值时,它对生产率有很大的影响。我需要对LCID的字符串值执行同样的操作。但是CultureInfo类没有TryParse方法。
CultureInfo culture = null;
try {
culture = CultureInfo.GetCultureInfo(Convert.ToInt32(lcid, 16));
}
catch {
}我如何重写这段代码?
发布于 2015-04-27 07:36:42
您可以在字典中通过LCID缓存所有CultureInfo对象:
var culturesByLcid = CultureInfo
.GetCultures(CultureTypes.AllCultures)
.ToDictionary(c => c.LCID, c => c);并使用TryGetValue,如:
CultureInfo found;
if (culturesByLcid.TryGetValue(lcid, out found))
{
...
}https://stackoverflow.com/questions/29889681
复制相似问题