爲了在我的代碼調試的問題,我已經宣佈了以下兩個字符串,假設他們是等價的:字符串平等 - 這裏發生了什麼?
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
呵呵?他們爲什麼不平等?
編輯:
我需要使用'thumbprint'作爲基礎。這是一個用戶輸入的字符串。我只是使用'newPrint'作爲臨時變量來保存修剪/加價值。打印是預期的結果。
指紋!= print –
你的第一個變量是「print」,你的第二個變量是基於「thumbprint」的,所以它們很可能不等價。這只是一個錯字嗎? – BunjiquoBianco
@DanielHilgarth忽略指紋。沒關係,看輸出。 – Erix