这个炭是什么? 65279''

时间:2011-07-22 01:33:32

标签: c# char

我有两个字符串。

一个是“\”“

另一个是“\”“

我认为它们是一样的。

但是,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是什么。

这是一个空角色吗?

4 个答案:

答案 0 :(得分:62)

答案 1 :(得分:5)

如果您使用的是Notepad ++,请尝试转换为UTF-8(无BOM),并确保项目中的所有文件都是相同的文件系统格式。

答案 2 :(得分:4)

如果您正在读取已在记事本中打开的文件,则可能已添加该文件,因为它是因为这样做而臭名昭着的几个程序之一。

答案 3 :(得分:0)

您可以通过以下方式将其删除:

Trim(new char[]{'\uFEFF','\u200B'});