我的应用程序使用VSTO读取Excel文件,并将读取的数据添加到StringDictionary
。它仅添加数位数的数据(1000 1000,2 1000,34-逗号是俄语标准中的定界符)。
有什么更好的方法来检查当前字符串是否合适?
object data, string key; // data had read
try
{
Convert.ToDouble(regionData, CultureInfo.CurrentCulture);
dic.Add(key, regionData.ToString());
}
catch (InvalidCastException)
{
// is not a number
}
要么
double d;
string str = data.ToString();
if (Double.TryParse(str, out d)) // if done, then is a number
{
dic.Add(key, str);
}
由于以下解析算法问题,我不得不使用StringDictionary
而不是Dictionary<string, double>
。
我的问题:哪种方法更快?哪个更安全?
打电话Convert.ToDouble(object)
还是更好Convert.ToDouble(string)
?