Ứng dụng của tôi đọc tệp Excel bằng VSTO và thêm dữ liệu đã đọc vào a StringDictionary
. Nó chỉ thêm dữ liệu là các số có một vài chữ số (1000 1000,2 1000,34 - dấu phẩy là dấu phân cách theo tiêu chuẩn của Nga).
Điều gì tốt hơn là kiểm tra xem chuỗi hiện tại có phải là một số thích hợp không?
object data, string key; // data had read
try
{
Convert.ToDouble(regionData, CultureInfo.CurrentCulture);
dic.Add(key, regionData.ToString());
}
catch (InvalidCastException)
{
// is not a number
}
hoặc là
double d;
string str = data.ToString();
if (Double.TryParse(str, out d)) // if done, then is a number
{
dic.Add(key, str);
}
Tôi phải sử dụng StringDictionary
thay Dictionary<string, double>
vì vì các vấn đề thuật toán phân tích cú pháp sau đây.
Câu hỏi của tôi: Cách nào nhanh hơn? Cái nào an toàn hơn?
Và nó là tốt hơn để gọi Convert.ToDouble(object)
hoặc Convert.ToDouble(string)
?