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

C# में Char.Parse() मेथड - स्ट्रिंग को यूनिकोड वर्ण में बदलें

C# में Char.Parse() मेथड निर्दिष्ट स्ट्रिंग के मान को उसके समतुल्य यूनिकोड वर्ण में परिवर्तित करता है। स्ट्रिंग में ठीक एक वर्ण होना चाहिए।

सिंटैक्स

public static char Parse (string str);

पैरामीटर str एक स्ट्रिंग है जिसमें एकल वर्ण होता है या null होता है।

उदाहरण 1: अक्षर पार्स करना

using System; 

public class Demo 
{ 
    public static void Main()
    { 
        string str = "a"; 
        char res = Char.Parse(str); 
        Console.WriteLine("Value = " + str); 
        Console.WriteLine("Equivalent Unicode character = " + res); 
    } 
}

आउटपुट

Value = a
Equivalent Unicode character = a

उदाहरण 2: विशेष वर्ण पार्स करना

using System; 

public class Demo 
{ 
    public static void Main()
    { 
        string str = "#"; 
        char res = Char.Parse(str); 
        Console.WriteLine("Value = " + str); 
        Console.WriteLine("Equivalent Unicode character = " + res); 
    } 
}

आउटपुट

Value = #
Equivalent Unicode character = #

अपवाद और एज केस

1. खाली स्ट्रिंग

try 
{
    char c = Char.Parse("");
}
catch (FormatException ex)
{
    Console.WriteLine("FormatException: " + ex.Message);
    // "String must be exactly one character long."
}

2. एक से अधिक वर्ण

try 
{
    char c = Char.Parse("ab");
}
catch (FormatException ex)
{
    Console.WriteLine("FormatException: " + ex.Message);
    // "String must be exactly one character long."
}

3. Null स्ट्रिंग

try 
{
    char c = Char.Parse(null);
}
catch (ArgumentNullException ex)
{
    Console.WriteLine("ArgumentNullException: " + ex.Message);
}

सुरक्षित पार्सिंग: TryParse पैटर्न

Char.TryParse() (.NET Core 2.0+ / .NET 5+) अपवाद के बिना सुरक्षित पार्सिंग प्रदान करता है:

string[] inputs = { "a", "Z", "#", "", "ab", null };

foreach (var input in inputs)
{
    if (char.TryParse(input, out char result))
    {
        Console.WriteLine($"'{input}' → '{result}' ✓");
    }
    else
    {
        Console.WriteLine($"'{input}' → पार्स विफल ✗");
    }
}

आउटपुट

'a' → 'a' ✓
'Z' → 'Z' ✓
'#' → '#' ✓
'' → पार्स विफल ✗
'ab' → पार्स विफल ✗
'' → पार्स विफल ✗

Char.Parse() बनाम अन्य रूपांतरण

मेथडइनपुटव्यवहारअपवाद
Char.Parse()स्ट्रिंग (लंबाई 1)सटीक एक वर्ण आवश्यकFormatException, ArgumentNullException
Char.TryParse()स्ट्रिंगबूलियन लौटाता है, आउट पैरामीटरकोई नहीं
str[0]स्ट्रिंगपहला वर्ण एक्सेस (कोई जांच नहीं)IndexOutOfRangeException यदि खाली
Convert.ToChar()ऑब्जेक्टस्ट्रिंग, संख्या, आदि स्वीकार करता हैFormatException, ArgumentNullException

मुख्य बिंदु

  • इनपुट स्ट्रिंग की लंबाई ठीक 1 होनी चाहिए
  • यूनिकोड वर्णों (इमोजी, CJK, आदि) के लिए सही काम करता है
  • प्रदर्शन के लिए TryParse का उपयोग करें जब अमान्य इनपुट अपेक्षित हो
  • सरणी एक्सेस str[0] तेज है लेकिन सुरक्षा जांच नहीं करता
  1. - C# int.Parse बनाम int.TryParse मेथड

    C# में int.TryParse और intParse मेथड का उपयोग करके संख्या के स्ट्रिंग प्रतिनिधित्व को पूर्णांक में बदलें।यदि स्ट्रिंग को बदला नहीं जा सकता, तो int.TryParse मेथड false लौटाता है यानी एक बूलियन मान, जबकि int.Parse एक अपवाद लौटाता है।आइए int.Parse मेथड का एक उदाहरण देखें:उदाहरणusing System.IO; using Sy

  1. - C# में Long.Parse मेथड

    C# में स्ट्रिंग को long में बदलने के लिए Long.Parse मेथड का उपयोग करें:सबसे पहले, एक स्ट्रिंग सेट करें:string str = "7864646475767";अब, इसे long में बदलें:long.Parse(str);यहाँ पूरा कोड है:उदाहरणusing System; using System.Linq; class Demo {    static void Main() {     &n

  1. - C# में Bool.Parse मेथड

    C# में स्ट्रिंग को bool में बदलने के लिए Bool.Parse मेथड का उपयोग करें:सबसे पहले, एक स्ट्रिंग सेट करें:string str = "true";अब, इसे bool में बदलें:bool.Parse(str);यहाँ पूरा कोड है:उदाहरणusing System; using System.Linq; class Demo {    static void Main() {       stri