Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में स्ट्रिंग को Long में बदलना


C# में किसी स्ट्रिंग को 64-बिट साइन्ड इंटीजर (long / Int64) में बदलने के लिए long.Parse() या long.TryParse() मेथड्स का उपयोग किया जाता है।

उदाहरण: Parse() का उपयोग

using System;

class Demo
{
    static void Main()
    {
        string str = "6987646475767";
        
        // Parse() - सफल होने पर मान लौटाता है, विफल होने पर अपवाद फेंकता है
        long number = long.Parse(str);
        
        Console.WriteLine($"स्ट्रिंग: {str}");
        Console.WriteLine($"Long मान: {number}");
        Console.WriteLine($"प्रकार: {number.GetType().Name}");
    }
}

आउटपुट

स्ट्रिंग: 6987646475767
Long मान: 6987646475767
प्रकार: Int64

सुरक्षित रूपांतरण: TryParse() का उपयोग (अनुशंसित)

using System;

public class Demo
{
    public static void Main()
    {
        string[] testStrings = 
        {
            "6987646475767",      // वैध
            "-1234567890123",     // वैध ऋणात्मक
            "9999999999999999999999999", // बहुत बड़ा (ओवरफ्लो)
            "abc123",             // अवैध प्रारूप
            "",                   // खाली स्ट्रिंग
            "  123  ",            // व्हाइटस्पेस के साथ
            "123.45"              // दशमलव (अवैध long के लिए)
        };
        
        foreach (string s in testStrings)
        {
            Console.Write($"इनपुट: \"{s}\" -> ");
            
            if (long.TryParse(s, out long result))
            {
                Console.WriteLine($"सफल: {result}");
            }
            else
            {
                Console.WriteLine("विफल - अमान्य प्रारूप या रेंज से बाहर");
            }
        }
        
        // व्हाइटस्पेस और नंबर स्टाइल्स के साथ
        Console.WriteLine("\nNumberStyles के साथ:");
        string withSpaces = "  -456  ";
        if (long.TryParse(withSpaces, System.Globalization.NumberStyles.Integer, 
                          System.Globalization.CultureInfo.InvariantCulture, out long val))
        {
            Console.WriteLine($"\"{withSpaces}\" -> {val}");
        }
    }
}

आउटपुट

इनपुट: "6987646475767" -> सफल: 6987646475767
इनपुट: "-1234567890123" -> सफल: -1234567890123
इनपुट: "9999999999999999999999999" -> विफल - अमान्य प्रारूप या रेंज से बाहर
इनपुट: "abc123" -> विफल - अमान्य प्रारूप या रेंज से बाहर
इनपुट: "" -> विफल - अमान्य प्रारूप या रेंज से बाहर
इनपुट: "  123  " -> विफल - अमान्य प्रारूप या रेंज से बाहर
इनपुट: "123.45" -> विफल - अमान्य प्रारूप या रेंज से बाहर

NumberStyles के साथ:
"  -456  " -> -456

Parse() बनाम TryParse()

मेथडव्यवहारउपयोग करें जब
long.Parse()सफलता पर मान लौटाता है; विफलता पर FormatException, OverflowException, या ArgumentNullException फेंकता हैआप निश्चित हैं कि स्ट्रिंग वैध है
long.TryParse()बूलियन लौटाता है; आउट पैरामीटर में मान सेट करता है; कोई अपवाद नहीं फेंकताउपयोगकर्ता इनपुट, फाइल पढ़ना, बाहरी डेटा - जहां वैधता अनिश्चित हो

अन्य रूपांतरण विकल्प

// Convert.ToInt64() - null के लिए 0 लौटाता है, अन्यथा Parse जैसा
long val1 = Convert.ToInt64("12345");
long val2 = Convert.ToInt64(null); // 0 लौटाता है, अपवाद नहीं

// Int64.Parse() - long.Parse() का पूर्ण नाम
long val3 = Int64.Parse("12345");

महत्वपूर्ण बिंदु

  • long की रेंज: -9,223,372,036,854,775,808 से 9,223,372,036,854,775,807
  • TryParse() अपवाद हैंडलिंग के ओवरहेड से बचाता है
  • व्हाइटस्पेस वाले स्ट्रिंग्स के लिए NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite उपयोग करें
  • संस्कृति-विशिष्ट प्रारूपों के लिए CultureInfo पैरामीटर पास करें
  • हेक्साडेसिमल के लिए: long.Parse("FF", NumberStyles.HexNumber)
  1. पायथन प्रोग्राम: हेक्साडेसिमल स्ट्रिंग को दशमलव में बदलें पायथन प्रोग्राम: हेक्साडेसिमल स्ट्रिंग को दशमलव में बदलें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक हेक्साडेसिमल स्ट्रिंग दी गई है, जिसे उसके दशमलव समकक्ष में बदलना है। इस समस्या को हल करने के दो दृष्टिकोण हैं: ब्रूट-फोर्स दृष्टिकोण बिल्ट-इन मॉड्यूल का उपयोग ब्रूट-फोर्स विधि यहां हम स्पष्ट टाइप कास्टिंग फ़ंक्शन int() की

  1. - पायथन प्रोग्राम: लिस्ट को स्ट्रिंग में बदलें

    इस लेख में हम दी गई समस्या के समाधान के बारे में जानेंगे। समस्या कथन हमें एक लिस्ट इटरेबल दी गई है, जिसे स्ट्रिंग टाइप इटरेबल में बदलना है। दिए गए समस्या को हल करने के चार दृष्टिकोण हैं। आइए उन्हें एक-एक करके देखें। ब्रूट-फोर्स दृष्टिकोण उदाहरण def listToString(s): # खाली स्ट्रिंग इनिशियलाइज़ कर

  1. - पायथन प्रोग्राम: लिस्ट को स्ट्रिंग में बदलें

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक लिस्ट दिए जाने पर, हमें इसे स्ट्रिंग टाइप में बदलने की आवश्यकता है। यहां हम ऊपर दी गई प्रॉब्लम स्टेटमेंट को हल करने के लिए चार अलग-अलग दृष्टिकोणों पर चर्चा करेंगे: दृष्टिकोण 1: खा