私のアプリケーションは、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)
?