C# में String.ToUpper() और String.ToLower() मेथड्स का उपयोग करके स्ट्रिंग के कैरेक्टर्स का केस बदला जा सकता है। स्ट्रिंग्स अपरिवर्तनीय (immutable) होती हैं, इसलिए ये मेथड्स नई स्ट्रिंग लौटाते हैं।
उदाहरण
using System;
using System.Collections.Generic;
using System.Text;
namespace Demo {
class MyApplication {
static void Main(string[] args) {
string str = "AMIT";
Console.WriteLine("UpperCase : {0}", str);
// अपरकेस को लोअरकेस में बदलें
Console.WriteLine("Converted to LowerCase : {0}", str.ToLower());
// लोअरकेस को अपरकेस में
string lower = "amit";
Console.WriteLine("Converted to UpperCase : {0}", lower.ToUpper());
Console.ReadLine();
}
}
}
आउटपुट
UpperCase : AMIT Converted to LowerCase : amit Converted to UpperCase : AMIT
महत्वपूर्ण मेथड्स
| मेथड | विवरण | उदाहरण |
|---|---|---|
ToUpper() |
सभी कैरेक्टर्स को अपरकेस में बदलता है | "hello" → "HELLO" |
ToLower() |
सभी कैरेक्टर्स को लोअरकेस में बदलता है | "HELLO" → "hello" |
ToUpperInvariant() |
कल्चर-स्वतंत्र अपरकेस (फाइल पाथ, आइडेंटिफायर्स के लिए) | |
ToLowerInvariant() |
कल्चर-स्वतंत्र लोअरकेस |
कल्चर-सेंसिटिव केस बदलाव
// तुर्की में 'i' का अपरकेस 'İ' (डॉट के साथ) होता है, 'I' नहीं
string str = "file";
Console.WriteLine(str.ToUpper()); // वर्तमान कल्चर के अनुसार
Console.WriteLine(str.ToUpperInvariant()); // हमेशा "FILE"
// तुर्की कल्चर के लिए
var turkish = new CultureInfo("tr-TR");
Console.WriteLine(str.ToUpper(turkish)); // "FİLE"
केस-इनसेंसिटिव तुलना
// केस बदलने के बजाय तुलना के लिए bool equal = string.Equals(str1, str2, StringComparison.OrdinalIgnoreCase); // या bool equal = str1.Equals(str2, StringComparison.OrdinalIgnoreCase);
एकल कैरेक्टर के लिए
char c = 'a';
char upper = char.ToUpper(c); // 'A'
char lower = char.ToLower('Z'); // 'z'
// Invariant संस्करण
char upperInv = char.ToUpperInvariant(c);
मुख्य बिंदु
- स्ट्रिंग्स अपरिवर्तनीय हैं - मूल स्ट्रिंग नहीं बदलती।
- आंतरिक पहचानकर्ताओं (XML टैग्स, एनम मान, आदि) के लिए
Invariantसंस्करण उपयोग करें। - केस-इनसेंसिटिव तुलना के लिए स्ट्रिंग को बदलने के बजाय
StringComparison.OrdinalIgnoreCaseउपयोग करें।