Parse()和TryParse()有什么区别?
int number = int.Parse(textBoxNumber.Text);
// The Try-Parse Method
int.TryParse(textBoxNumber.Text, out number);
Run Code Online (Sandbox Code Playgroud)
是否有某种形式的错误检查,如Try-Catch Block?
我的应用程序使用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
}
Run Code Online (Sandbox Code Playgroud)
要么
double d;
string str = data.ToString();
if (Double.TryParse(str, out d)) // if done, then is a number
{
dic.Add(key, str);
}
Run Code Online (Sandbox Code Playgroud)
我必须使用StringDictionary而不是Dictionary<string, double>因为以下解析算法问题.
我的问题:哪种方式更快?哪个更安全?
打电话Convert.ToDouble(object)或者打电话会更好Convert.ToDouble(string)吗?