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?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage