C# Programming

C# में सशक्त स्ट्रिंग से इंटीजर रूपांतरण

Spread the love

C# प्रोग्रामिंग में स्ट्रिंग्स को इंटीजर्स में बदलना एक मौलिक कार्य है। यह लेख सबसे कुशल और मजबूत विधियों का पता लगाता है, विभिन्न परिदृश्यों और संभावित त्रुटियों को संभालने के लिए सर्वोत्तम प्रथाओं पर ज़ोर देता है।

विषयवस्तु की तालिका

मजबूत TryParse() विधियाँ

TryParse() विधियाँ (जैसे, Int32.TryParse(), Int64.TryParse(), Int16.TryParse()) आमतौर पर C# में स्ट्रिंग-टू-इंटीजर रूपांतरण के लिए पसंदीदा तरीका हैं। वे अपवादों से बचकर Parse() विधियों पर एक महत्वपूर्ण लाभ प्रदान करते हैं। इसके बजाय, वे सफलता या विफलता का संकेत देने वाला एक बूलियन मान लौटाते हैं, जो एक out पैरामीटर के माध्यम से पार्स किए गए पूर्णांक को लौटाते हैं।

यह दृष्टिकोण try-catch ब्लॉकों की आवश्यकता को समाप्त करके दक्षता और कोड पठनीयता को बढ़ाता है। TryParse() अपवाद फेंकने के बजाय false लौटाकर ओवरफ़्लो अपवादों को भी सुचारू रूप से संभालता है।


string strNumber = "12345";
int number;
bool success = Int32.TryParse(strNumber, out number);

if (success)
{
    Console.WriteLine("पूर्णांक मान है: " + number);
}
else
{
    Console.WriteLine("अमान्य इनपुट। स्ट्रिंग एक मान्य पूर्णांक नहीं है।");
}

Parse() विधियाँ: सरल लेकिन जोखिम भरी

Parse() विधियाँ (जैसे, Int32.Parse(), Int64.Parse(), Int16.Parse()) स्ट्रिंग्स को पूर्णांकों में बदलने का एक अधिक संक्षिप्त तरीका प्रदान करती हैं, लेकिन वे एक महत्वपूर्ण दोष के साथ आती हैं: यदि इनपुट स्ट्रिंग एक मान्य पूर्णांक प्रतिनिधित्व नहीं है, तो वे अपवाद (FormatException) फेंकते हैं। इसके लिए try-catch ब्लॉकों के उपयोग की आवश्यकता होती है, जिससे जटिलता और संभावित प्रदर्शन ओवरहेड बढ़ जाता है।


string strNumber = "12345";
int number;

try
{
    number = Int32.Parse(strNumber);
    Console.WriteLine("पूर्णांक मान है: " + number);
}
catch (FormatException)
{
    Console.WriteLine("अमान्य इनपुट। स्ट्रिंग एक मान्य पूर्णांक नहीं है।");
}

सिंटैक्स में सरल होने के बावजूद, असंसाधित अपवादों के बढ़ते जोखिम से TryParse() एक सुरक्षित और आम तौर पर बेहतर विकल्प बन जाता है।

Convert.ToInt*() विधियाँ: विचार करने के विकल्प

Convert क्लास Convert.ToInt32(), Convert.ToInt64(), और Convert.ToInt16() जैसी विधियाँ प्रदान करता है। Parse() के समान कार्यशील, वे भी विफलता पर अपवाद फेंकते हैं। वे सफेद स्थान या किनारे के मामलों को संभालने में सूक्ष्म अंतर प्रदान कर सकते हैं, लेकिन वे अपवादों के लिए समान भेद्यता साझा करते हैं, जिससे TryParse() अधिक मजबूत विकल्प बन जाता है।


string strNumber = "12345";
int number;

try
{
    number = Convert.ToInt32(strNumber);
    Console.WriteLine("पूर्णांक मान है: " + number);
}
catch (FormatException)
{
    Console.WriteLine("अमान्य इनपुट। स्ट्रिंग एक मान्य पूर्णांक नहीं है।");
}

आपकी आवश्यकताओं के लिए सही विधि चुनना

अधिकांश परिदृश्यों के लिए, TryParse() अनुशंसित दृष्टिकोण है। इसकी अपवाद-हैंडलिंग सुरक्षा और दक्षता इसे बेहतर विकल्प बनाती है। Parse() या Convert.ToInt*() का उपयोग केवल तभी करें जब आपके पास सीधे अपने कोड में अपवादों को संभालने का एक बहुत विशिष्ट कारण हो और संभावित प्रदर्शन निहितार्थों को समझें। हमेशा अपने इनपुट मानों की अपेक्षित सीमा के आधार पर उपयुक्त पूर्णांक प्रकार (Int16, Int32, Int64) चुनें।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *