जवाबों:
वर्तमान संस्कृति के आधार पर, ToLower एक संस्कृति विशिष्ट लोअरकेस पत्र का उत्पादन कर सकता है, जिसकी आपको उम्मीद नहीं है। जैसे ınfoकि मैं इसके बजाय i पर डॉट के बिना उत्पादन कर रहा हूं infoऔर इस प्रकार स्ट्रिंग तुलनाओं को कम कर रहा हूं । उस कारण से, किसी भी गैर-भाषा-विशिष्ट डेटा पर ToLowerInvariant का उपयोग किया जाना चाहिए। जब आपके पास उपयोगकर्ता इनपुट हो सकता है जो कि उनकी मूल भाषा / वर्ण-सेट में हो सकता है, तो आमतौर पर आप केवल ToLower का उपयोग करते हैं
इस प्रश्न को इस मुद्दे के उदाहरण के लिए देखें: C # - ToLower () कभी-कभी "I" अक्षर से डॉट निकाल रहा है
मुझे लगता है कि यह उपयोगी हो सकता है:
http://msdn.microsoft.com/en-us/library/system.string.tolowerinvariant.aspx
अपडेट करें
यदि आपका आवेदन वर्तमान संस्कृति से अप्रभावित होने वाले पूर्वानुमान के तरीके में परिवर्तन के मामले पर निर्भर करता है, तो ToLowerInvariant पद्धति का उपयोग करें। ToLowerInvariant विधि ToLower (CultureInfo.InvariantCulture) के बराबर है। विधि की सिफारिश तब की जाती है जब उपयोगकर्ता इंटरफ़ेस नियंत्रण में स्ट्रिंग्स का एक संग्रह पूर्वानुमान क्रम में दिखाई दे।
भी
... ToLower ToLowerInvariant के अधिकांश स्थानों में बहुत समान है। दस्तावेजों से संकेत मिलता है कि ये तरीके केवल तुर्की संस्कृतियों के साथ व्यवहार को बदल देंगे। इसके अलावा, विंडोज सिस्टम पर, फ़ाइल सिस्टम केस-असंवेदनशील है, जो इसके उपयोग को और सीमित करता है ...
http://www.dotnetperls.com/tolowerinvariant-toupperinvariant
hth
String.ToLower()डिफ़ॉल्ट संस्कृति का String.ToLowerInvariant()उपयोग करता है, जबकि अपरिवर्तनीय संस्कृति का उपयोग करता है। तो आप अनिवार्य रूप से अपरिवर्तनीय संस्कृति और क्रमिक स्ट्रिंग तुलना के बीच अंतर पूछ रहे हैं ।
ToLowerभिन्नताओं पर चर्चा करने में भेद प्रासंगिक नहीं है ; साधारण बनाम आक्रमणकारी सिर्फ दो तारों के "क्रम क्रम" को बदलता है, समानता की तुलना को नहीं बदलता है।
टी एल; डॉ:
"सामग्री" के साथ काम करते समय (जैसे लेख, पोस्ट, टिप्पणी, नाम, स्थान, आदि) का उपयोग करें ToLower()। जब "शाब्दिक" के साथ काम करते हैं (उदाहरण के लिए कमांड लाइन तर्क, कस्टम व्याकरण, स्ट्रिंग्स जो कि एनम आदि होना चाहिए) का उपयोग करते हैं ToLowerInvariant()।
उदाहरण:
= गलत तरीके से उपयोग करनाToLowerInvariant =
तुर्की में, DIŞ"बाहर" का dişअर्थ है और "दांत" का मतलब है। का उचित निचला आवरण DIŞहै dış। इसलिए, यदि आप ToLowerInvariantगलत तरीके से उपयोग करते हैं, तो आपके पास टर्की में टाइपो हो सकता है।
= गलत तरीके से उपयोग करनाToLower =
अब दिखावा आप एक एसक्यूएल पार्सर लिख रहे हैं। कहीं न कहीं आपके पास ऐसा कोड होगा जो दिखता है:
if(operator.ToLower() == "like")
{
// Handle an SQL LIKE operator
}
जब आप संस्कृतियाँ बदलते हैं तो SQL व्याकरण नहीं बदलता है। एक फ्रेंचमैन SÉLECTIONNEZ x DE booksइसके बजाय नहीं लिखता है SELECT X FROM books। हालांकि, काम करने के लिए उपरोक्त कोड के लिए, एक तुर्की व्यक्ति को लिखना होगा SELECT x FROM books WHERE Author LİKE '%Adams%'(राजधानी के ऊपर डॉट को नोट करना, लगभग देखना असंभव है)। यह आपके तुर्की उपयोगकर्ता के लिए काफी निराशाजनक होगा।