मेरा एप्लिकेशन VSTO का उपयोग करके एक एक्सेल फाइल पढ़ता है और रीड डेटा को एक में जोड़ता है 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)?