Почему в С# строка, состоящая из (байт)'\n', не содержит '\n'?C#

Место общения программистов C#
Anonymous
Почему в С# строка, состоящая из (байт)'\n', не содержит '\n'?

Сообщение Anonymous »

Я только что обнаружил, что приведенный ниже код возвращает false:

Код: Выделить всё

((byte)'\n').ToString().Contains('\n') // -> false
Пока этот возвращает true:

Код: Выделить всё

'\n'.ToString().Contains('\n') // -> true
Почему? Коды символов (byte)'\n' и '\n' одинаковы, поскольку '\n' == 10 < 256, поэтому сохраненное значение должно быть одинаковым независимо от кодировки, старшие биты в обоих случаях равны 0...
Я понятия не имею, почему это происходит, поскольку я относительно новичок в типизированных языках.

Подробнее здесь: https://stackoverflow.com/questions/785 ... -contain-n

Вернуться в «C#»