reader.Peek()
сообщает вам, какой следующий символ в потоке не читается (т. Е. Он остался в потоке)
Когда больше нет символов, он возвращает -1. Таким образом, вы узнаете, что больше ничего не придет.
Кроме того, поскольку вы читаете поток символов, -1 не является допустимым символом, поэтому вы можете четко определить условие окончания потока, поскольку его нет в допустимый диапазон для символов (от 0 до 65535, включая границы).
!=
- это оператор , не равный в c#, поэтому строка reader.Peek() != -1
означает
получить следующий символ, не удаляя его из потока, и сравнить его с -1 (что означает EndOfStream). Если они отличаются, то результат сравнения будет true
, в противном случае false
.
Для получения дополнительной информации о методе peek
см. Просмотр MSDN , а для операторов, см. Операторы в MSDN .