【发布时间】:2011-10-10 17:14:43
【问题描述】:
我有两个字符串。
一个是"\""
另一个是"\""
我认为他们是一样的。
但是,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 '' 是什么。
它是一个空字符吗?
【问题讨论】:
-
你的字符串是从哪里来的?你可能读错了。
-
它通常作为 utf-16 编码文本文件中的第一个字符出现。使用 StreamReader,而不是 FileStream。