这是我的 SQL 表中的部分数据:
当我获取数据时显示如下
但是当我使用相等条件时,它返回 false
我检查了 ASCII 码,我很困惑,因为它是不同的。
这个.NameOfComm :
“文档”:
最佳答案
如果仔细观察,您会注意到,在您的第一个屏幕截图中,第一行中的 DOC
与第二行中的字体略有不同。
- 其中一个包含常规 ASCII 字符
D
O
C
,而 - 另一个包含fullwidth forms
D
O
C
来自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/