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) - विशिष्ट कल्चर के साथ