Ответ 1
Это нулевая ширина без пробела.
Он чаще используется в качестве байтового байта (BOM).
У меня две строки.
один - это "\" "
а другой - "\" "
Я думаю, что они такие же.
Однако 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 ''.
Есть ли пустой символ?
Спасибо.
Это нулевая ширина без пробела.
Он чаще используется в качестве байтового байта (BOM).
Если вы читаете из файла, который вы открыли в блокноте, он, возможно, добавил его, поскольку это одна из нескольких программ, известных для этого.
Если вы используете Notepad ++, попробуйте конвертировать в UTF-8 (без спецификации), а также убедитесь, что ВСЕ ваши файлы в проекте имеют одинаковый формат файловой системы.