Warum gibt String.Equals false zurück?
Ich habe den folgenden C # -Code (aus einer Bibliothek, die ich verwende), der versucht, ein Zertifikat zu finden, das den Fingerabdruck vergleicht. Beachten Sie, dass im folgenden Code sowohlmycert.Thumbprint
undcertificateThumbprint
sind Zeichenfolgen.
var certificateThumbprint = AppSettings.CertificateThumbprint;
var cert =
myStore.Certificates.OfType<X509Certificate2>().FirstOrDefault(
mycert =>
mycert.Thumbprint != null && mycert.Thumbprint.Equals(certificateThumbprint)
);
Dies kann das Zertifikat mit dem Fingerabdruck nicht finden, damycert.Thumbprint.Equals(certificateThumbprint)
istfalse
auch wenn die Saiten gleich sind.mycert.Thumbprint == certificateThumbprint
gibt auch @ zurüfalse
, währendmycert.Thumbprint.CompareTo(certificateThumbprint)
gibt 0 zurück.
Ich vermisse vielleicht etwas Offensichtliches, aber ich kann nicht herausfinden, warum dasEquals
Methode schlägt fehl. Ideen?