我创建了wpf应用程序。有些情况我比较两个字符串值。本地值来自richtextbox,而richtextbox值来自word文档。我尝试了site的所有解决方案。但没有改变。比较等于假。我尝试用linkedWord.Replace((char)160, (char)32);
尝试使用string.Compare
String.Compare(wr.Orthography, linkedWord, StringComparison.OrdinalIgnoreCase) == 0
使用Encoding到字节数组和 SequanceEqual 以及更多,但找不到解决方案。 请帮我解决这个问题。
值来自数据库:
修改
比较后,方法结果为 -1
答案 0 :(得分:1)
原因可能是西里尔字母ә(ә)和拉丁语ə(ə)虽然看起来不一样,但却不同。
检查每个角色是否相等,下面你可以看到差异:
foreach (char c in "bәse")
Console.Write(((int)c).ToString("0000"));
Console.WriteLine("\n--------------------");
foreach (char c in "bəse")
Console.Write(((int)c).ToString("0000"));
Console.WriteLine("\n--------------------");
Console.WriteLine(("bәse"=="bəse").ToString());
输出
0098124101150101
--------------------
0098060101150101
--------------------
False
在这种情况下,您应该用拉丁语对应物替换西里尔字符