Что это за символ? 65279 '' - PullRequest
43 голосов
/ 22 июля 2011

У меня есть две строки.

одна - "\" "

, а другая -" \ ""

Я думаю, что они одинаковы.

Однако 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 ''.

Это пустой символ?

Ответы [ 3 ]

62 голосов
/ 22 июля 2011
6 голосов
/ 24 ноября 2015

Если вы используете Notepad ++, попробуйте конвертировать в UTF-8 (без спецификации), а также убедитесь, что ВСЕ ваши файлы в проекте имеют одинаковый формат файловой системы.

4 голосов
/ 22 июля 2011

Если вы читаете из файла, который вы открыли в блокноте, возможно, он добавил его, поскольку это одна из нескольких программ, печально известных этим.

...