[英]Compare two strings in two different ways
我已經用C#編寫了這個小程序
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show(("7797302D875A8922EBFC7DECBD352FE88F35642F" == "7797302D875A8922EBFC7DECBD352FE88F35642F").ToString());
var a = "7797302D875A8922EBFC7DECBD352FE88F35642F";
var b = "7797302D875A8922EBFC7DECBD352FE88F35642F";
MessageBox.Show((a == b).ToString());
}
第一個messageBox顯示為“ False”,而Messagebox顯示為“ True”。
我的問題是:為什么不能將兩個字符串與==
運算符進行比較?
您的第二個字符串具有從左到右的不可見標記字符,為(U+200E)
。
看起來只是另一個復制粘貼問題。
差異不是由比較引起的,而是您的測試字符串字符串。
第一種情況的第二個字符串以不可見的0x200E開頭,即Unicode 左右標記 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.