मतभेद काफी हैं ढूंढना आसान है, क्योंकि साधारण का मतलब है कि इसकी तुलना करने से पहले स्ट्रिंग को सामान्यीकृत नहीं किया जाता है। तो हमें बस एक सामान्यीकृत स्ट्रिंग को एक असामान्य स्ट्रिंग से तुलना करना होगा।
StringComparison.InvariantCulture
और StringComparison.CurrentCulture
(या विभिन्न CurrentCulture
एस के बीच मतभेद) के बीच अंतर ढूंढना थोड़ा मुश्किल है, लेकिन वे मौजूद हैं।
string a = "\u00C4"; // "LATIN CAPITAL LETTER A WITH DIAERESIS"
string b = "\u0041\u0308"; // "LATIN CAPITAL LETTER A" - "COMBINING DIAERESIS"
Console.WriteLine(a.Equals(b, StringComparison.InvariantCulture)); // true
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);
Console.WriteLine(a.Equals(b, StringComparison.CurrentCulture)); // true
Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK", false);
Console.WriteLine(a.Equals(b, StringComparison.CurrentCulture)); // false
Console.WriteLine(a.Equals(b, StringComparison.Ordinal)); // false
या यह एक है कि केवल ASCII वर्ण का उपयोग करता है:
string ddzs = "ddzs";
string dzsdzs = "dzsdzs";
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);
Console.WriteLine(ddzs.Equals(dzsdzs, StringComparison.CurrentCulture)); // false
Thread.CurrentThread.CurrentCulture = new CultureInfo("hu-HU", false);
Console.WriteLine(ddzs.Equals(dzsdzs, StringComparison.CurrentCulture)); // true
स्रोत
2010-05-27 10:11:05
धन्यवाद, कि मैं वास्तव में क्या ढूंढ रहा था
यहाँ एक उदाहरण है। इसमें कम से कम दो उदाहरण हैं: \ u0000 एक शून्य वर्ण के समान है यदि पैरामीटर अदृश्य संस्कृति है, लेकिन यह सामान्य नहीं है। \ u0061 \ u030a \ u00e5 जैसा ही है यदि पैरामीटर अदृश्य संस्कृति है, लेकिन यह सामान्य नहीं है। – zod