C#字符串字符相等,但相等条件返回false

标签 c#

这是我的 SQL 表中的部分数据:

SQL data

当我获取数据时显示如下

c# show

但是当我使用相等条件时,它返回 false

enter image description here

我检查了 ASCII 码,我很困惑,因为它是不同的。

这个.NameOfComm :

enter image description here

“文档”:

enter image description here

最佳答案

如果仔细观察,您会注意到,在您的第一个屏幕截图中,第一行中的 DOC 与第二行中的字体略有不同。

  • 其中一个包含常规 ASCII 字符 D O C ,而
  • 另一个包含fullwidth forms 来自Unicode block U+FF00–FFEF。这些是拉丁字符的特殊形式,用于与中文/日文/韩文字符很好地对齐。

(此外,全角形式的字符似乎是 HTML 编码的,但这可能是您分析的产物。)


您可以使用 string.Normalize “修复”这个:

// prints DOC
Console.WriteLine("DOC".Normalize(NormalizationForm.FormKC));

关于C#字符串字符相等,但相等条件返回false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72667184/

相关文章:

c# - MVVM + Reactive + WCF 回调

c# - 无法通过 VS 2010/2012 连接到本地数据库

c# - 仅在后台操作较长时显示进度

c# - HtmlGenericControl 返回 Null

c# - 使用 Stacky API 获取 Stack Overflow 问题

c# - 验证当前运行的可执行文件

c# - 在创建调用 2 个其他 API 的 API 时,我应该使用同步/异步 API 调用吗?

c# - 静态类和私有(private)构造函数

c# - 在内存中保存一个大集合,用于查询

c# - Uno 平台 Android 启动画面确实完全消失