我有两个字符串。
一个是“\”“
另一个是“\”“
我认为它们是一样的。
但是,String.Compare
表示它们不同。
这很奇怪。
这是我的代码:
string b = "\"";
string c = "\"";
if (string.Compare(b, c) == 0)
{
Console.WriteLine("Good");
}
if (c.StartsWith("\""))
{
Console.WriteLine("C");
}
if (b.StartsWith("\""))
{
Console.WriteLine("B");
}
我预计它可能会打印“GoodCB”。
但是,它只打印“B”。
在我的调试器中,c[0]
为65279'',c[1]
为34'''。b[0]
为'“。
但我不知道65279是什么。
这是一个空角色吗?
答案 0 :(得分:62)
答案 1 :(得分:5)
如果您使用的是Notepad ++,请尝试转换为UTF-8(无BOM),并确保项目中的所有文件都是相同的文件系统格式。
答案 2 :(得分:4)
如果您正在读取已在记事本中打开的文件,则可能已添加该文件,因为它是因为这样做而臭名昭着的几个程序之一。
答案 3 :(得分:0)
您可以通过以下方式将其删除:
Trim(new char[]{'\uFEFF','\u200B'});