我从文本文件中读取了两个字符串进行比较,当我尝试将这些文件与winmerge或pspad进行比较时,它们都显示为相同的文本字符串。如果我将它们与以下函数进行比较,则会失败:
string string1 = File.ReadAllText(@"c:\file1.txt");
string string2 = File.ReadAllText(@"c:\file2.txt");
bool stringMatch = false;
if (string1.Equals(string2, StringComparison.InvariantCulture)){
stringMatch = true;
}
//stringMatch is false here
经过一番搜索,似乎是“和'不同:
Content of file1.txt: é"'(§è!çà)- Content of file2.txt: é”’(§è!çà)-
我可以正确地比较这两个字符串并匹配那些“&”字符吗?
答案 0 :(得分:1)
您可以使用byte[]
下的方法将它们转换为System.Text.Encoding
然后比较byte[]
数组
答案 1 :(得分:1)
看起来你想要使用StringComparison的重载。 我想如果你想要当前的Senario,你想要“Ordinal”值,但是你可能希望其中一个人放弃你正在做的事情。
http://msdn.microsoft.com/en-us/library/system.stringcomparison.aspx
答案 2 :(得分:1)
嗯,你没有WinMerge或pspad中的.NET字符串,所以在解码时可能会出错。您需要解释完全方案:
答案 3 :(得分:1)