Ich habe eine seltsame Situation, die ich nicht herausfinden kann.C# Zwei Strings, optisch gleich, aber sie sind nicht gleich oder gleichwertig
Ich verwende ein Drittanbieter-Konvertierungs-Framework, das Einheiten in abgekürzter Form erwartet, z.B. "μV" ist MicroVolts
Aber wenn ich gehe, um die Zeichenfolge "μV" als MicroVolts zu analysieren, schlägt es fehl.
Ich kochte es auf die Tatsache herunter, dass die Abkürzungszeichenfolge, die ich übergebe, nicht gleich der Zeichenkette ist, die das Third-Party-Framework für Microvolts verwendet, obwohl sie identisch aussehen. Hier
ist der Ausgang der Direkt-Fenster, zu helfen, etwas Licht auf dem Zusammenhang Schuppen:
targetUom
"µV"
targetUom.GetHashCode()
-837503221
"μV".GetHashCode()
-837502956
targetUom.Equals("µV") // This is using the value of targetUom
true
targetUom.Equals("μV") // This is using the value from the 3rd party framework
false
ich den Wert erhalten habe, in dem Dritten Rahmen durch das Debuggen und das Kopieren des Wertes der Abkürzung I verwendet Sie wissen, dass sie für MicroVolts verwenden.
Jede Idee, warum zwei Saiten, obwohl das Aussehen aus genau den gleichen Zeichen besteht, nicht als gleichwertig betrachtet werden?
Ich habe im Vergleich auch das erste Zeichen, die Mikroeinheit Darstellung, zwischen den beiden Strings, die ergibt:
'μ'.CompareTo(targetUom[0])
775
*********** zu AKTUALISIEREN ****** ********** So habe ich festgestellt, dass die zwei Mikro-Zeichen unterschiedliche Kodierungen sind.
Aber wenn ich die gleiche Codierung zu verwenden versuchen, das Ziel-Framework verwendet, Visual Studio gibt mir diese Meldung:
Was die Auswirkungen der Änderung die Codierung des file..should I sind tue ich das oder sollte ich mit dem Framework-Autor zusammenarbeiten, damit sein Framework beide Codierungen verarbeiten kann?
Cool, Prost. Wo hast du diese Informationen gefunden? – JTech
https://dotnetfiddle.net/vNYAzb. Zwei verschiedene Unicode Charcaters – Hakunamatata
http://stackoverflow.com/questions/20674577/how-to-compare-unicode-characters-that-look-alike Das gleiche Problem wie das, was Sie haben – Hakunamatata