簡體   English   中英

用兩種不同的方式比較兩個字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM