2011-11-17 4 views

Odpowiedz

10

== jest niewrażliwy na kulturę - jest to proste porównanie porządkowe. Tak więc dwa łańcuchy, które są kulturowo równe - lub nawet równe pod względem innych form kanonizacji - mogą być równe , które są równe przez ==. W zasadzie traktuje każdy ciąg jak tablicę char.

10

Przeciążone String.operator == wykona nieporównywalne porównanie kulturowe – porównuje łańcuchy bajt po bajcie przy użyciu heavily optimized unrolled loop.
To wywołuje tę samą funkcję wewnętrznego jako String.Equals(a, b, StringComparison.Ordinal)

14

Jeśli porównać ciągi kultury świadomy == z, na przykład „Strasse” z „Straße”, zwraca false.

Jeśli potrzebujesz materiałów porównawczych uwzględniających kulturę dla plików UI (Sortowanie listy), używaj String.Compare z powiązaną informacją kulturową.

CultureInfo ci = new CultureInfo("de-DE"); 
String.Compare("Strasse", "Straße", true, ci) // Returns zero 
+3

+1 dla przykładu. – Otiel