내 응용 프로그램은 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)
습니까?