c# - 以两种不同的方式比较两个字符串

标签 c# string

我用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) .

看起来只是另一个复制粘贴问题。

enter image description here

关于c# - 以两种不同的方式比较两个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28045111/

相关文章:

c# - DataGridView 行无法在初始化阶段更改其背景颜色

c# - 如何在后台启动批处理文件并重定向其输出?

来自 X-Y 坐标图的 Java 字符串

c - 在数组中传递字符串

c# - Azure 中的时区偏移不正确

c# - Task.WaitAll 因异步/等待任务而挂起

c# - 用于网址检查的正则表达式

c# - ComboBox.SelectedText 没有给我 SelectedText

c - 使用 (char *)malloc(0) 和 NULL 初始化字符串之间的区别

string - 为什么程序在分配字符串后崩溃