コードの問題をデバッグするために、次の 2 つの文字列が同等であると仮定して宣言しました。
String print = "8A9B485ECDC56B6E0FD023D6994A57EEC49B0717";
String newPrint = thumbprint.Trim().Replace(" ", "").ToUpper();
私はそうではないことを発見しました。これが私の問題の原因です。ただし、即時ウィンドウ (宣言に続く行) で物事をチェックしていて、何が起こっているのか理解できません。出力は次のとおりです。
print
"8A9B485ECDC56B6E0FD023D6994A57EEC49B0717"
newPrint
"8A9B485ECDC56B6E0FD023D6994A57EEC49B0717"
String.Compare(print, newPrint);
0
print == newPrint
false
print.Equals(newPrint)
false
は?なぜそれらは等しくないのですか?
編集:
ベースとして「拇印」を使用する必要があります。ユーザーが入力した文字列です。トリミング/上限値を保持する一時変数として「newPrint」を使用しているだけです。print は期待される結果です。