Mi aplicación lee un archivo de Excel usando VSTO y agrega los datos leídos a un archivo StringDictionary
. Agrega solo datos que son números con unos pocos dígitos (1000 1000,2 1000,34 - la coma es un delimitador en los estándares rusos).
¿Qué es mejor para verificar si la cadena actual es un número apropiado?
object data, string key; // data had read
try
{
Convert.ToDouble(regionData, CultureInfo.CurrentCulture);
dic.Add(key, regionData.ToString());
}
catch (InvalidCastException)
{
// is not a number
}
o
double d;
string str = data.ToString();
if (Double.TryParse(str, out d)) // if done, then is a number
{
dic.Add(key, str);
}
Tengo que usarlo en StringDictionary
lugar de Dictionary<string, double>
debido a los siguientes problemas de algoritmo de análisis.
Mis preguntas: ¿Qué camino es más rápido? ¿Qué es más seguro?
¿Y es mejor llamar Convert.ToDouble(object)
o Convert.ToDouble(string)
?