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

C# में Char.ToLowerInvariant() मेथड - इनवेरिएंट कल्चर में लोअरकेस बदलें

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

सिंटैक्स

public static char ToLowerInvariant (char ch);

पैरामीटर ch परिवर्तित किया जाने वाला यूनिकोड वर्ण है।

उदाहरण 1: अपरकेस वर्ण

using System; 

public class Demo 
{ 
    public static void Main()
    { 
        char ch = 'D'; 
        char res = Char.ToLowerInvariant(ch); 
        Console.WriteLine("Value = " + ch); 
        Console.WriteLine("Lowercase Equivalent = " + res); 
    } 
}

आउटपुट

Value = D
Lowercase Equivalent = d

उदाहरण 2: पहले से लोअरकेस वर्ण

using System; 

public class Demo 
{ 
    public static void Main()
    { 
        char ch = 'p'; 
        char res = Char.ToLowerInvariant(ch); 
        Console.WriteLine("Value = " + ch); 
        Console.WriteLine("Lowercase Equivalent = " + res); 
    } 
}

आउटपुट

Value = p
Lowercase Equivalent = p

ToLowerInvariant() बनाम ToLower()

पहलूToLowerInvariant()ToLower() / ToLower(CultureInfo)
कल्चरइनवेरिएंट (कल्चर-अनन्य)वर्तमान थ्रेड कल्चर या निर्दिष्ट
संगततासभी कल्चर में समान परिणामकल्चर पर निर्भर (तुर्की 'I' समस्या)
प्रदर्शनथोड़ा तेज (कोई कल्चर लुकअप नहीं)कल्चर ऑब्जेक्ट एक्सेस आवश्यक
उपयोगआंतरिक प्रसंस्करण, फाइल फॉर्मेट, प्रोटोकॉलउपयोगकर्ता-फेसिंग डिस्प्ले

तुर्की 'I' समस्या (क्लासिक उदाहरण)

using System;
using System.Globalization;
using System.Threading;

public class Demo
{
    public static void Main()
    {
        char turkishI = 'I'; // लैटिन कैपिटल I
        
        // तुर्की कल्चर सेट करें
        Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR");
        
        Console.WriteLine("ToLower(): " + char.ToLower(turkishI));           // 'ı' (डॉटलेस)
        Console.WriteLine("ToLowerInvariant(): " + char.ToLowerInvariant(turkishI)); // 'i' (डॉटेड)
        
        // सामान्य स्ट्रिंग तुलना के लिए समस्या:
        string fileExt = ".XML";
        Console.WriteLine(fileExt.ToLower() == ".xml");        // तुर्की में False!
        Console.WriteLine(fileExt.ToLowerInvariant() == ".xml"); // हमेशा True
    }
}

इनवेरिएंट कल्चर कब उपयोग करें

  • फाइल एक्सटेंशन: .XML, .JSON, .TXT तुलना
  • प्रोटोकॉल/मानक: HTTP हेडर, XML टैग, JSON कुंजी
  • आंतरिक पहचानकर्ता: डेटाबेस कॉलम नाम, एनम मान
  • लॉगिंग/डीबगिंग: सुसंगत आउटपुट
  • उपयोगकर्ता इंटरफेस के लिए ToLower() या ToLower(CultureInfo.CurrentUICulture) का उपयोग करें

संबंधित मेथड्स

  • Char.ToUpperInvariant() - इनवेरिएंट कल्चर में अपरकेस
  • String.ToLowerInvariant() - स्ट्रिंग के लिए
  • Char.ToLower(Char, CultureInfo) - विशिष्ट कल्चर के साथ
  1. - C# में Char.IsSymbol() मेथड

    C# में Char.IsSymbol() मेथड दर्शाता है कि किसी निर्दिष्ट स्ट्रिंग में निर्दिष्ट स्थिति पर वर्ण एक प्रतीक वर्ण के रूप में वर्गीकृत है या नहीं। सिंटैक्स public static bool IsSymbol (string str, int index); ऊपर, str एक स्ट्रिंग है, जबकि str में मूल्यांकन करने के लिए वर्ण की स्थिति। आइए अब Char.IsSymbo

  1. - C# में Char.IsControl(String, Int32) मेथड

    C# में Char.IsControl(String, Int32) मेथड का उपयोग यह दर्शाने के लिए किया जाता है कि किसी निर्दिष्ट स्ट्रिंग में निर्दिष्ट स्थिति पर वर्ण एक नियंत्रण वर्ण के रूप में वर्गीकृत है या नहीं। सिंटैक्स public static bool IsControl (string str, int index); ऊपर, str एक स्ट्रिंग है। index पैरामीटर str में म

  1. - C# में Convert.ToUInt64: मान को 64-बिट अनसाइन्ड इंट में बदलना

    Convert.ToUInt64() निर्दिष्ट मान को 64-बिट अनसाइन्ड इंटीजर (ulong, रेंज 0 से 18,446,744,073,709,551,615) में बदलता है। उदाहरण: char से ulong using System; public class Demo { public static void Main() { char ch = a; ulong res = Convert.ToUInt64(ch); Consol