Метод Peek
StreamReader.Peek возвращает код
символа или -1 в конце потока.
Два вызова подряд дают одно и то же
значение. После
Read
результат меняется. Есть
PeekAsync у связанных API.
Синтаксис
int code = reader.Peek();
Пример
Давайте два раза подряд заглянем в
"abcde":
using System;
using System.IO;
class Program
{
static void Main()
{
using var reader = new StringReader("abcde");
int first = reader.Peek();
int second = reader.Peek();
bool res = first == second;
Console.WriteLine(res);
Console.WriteLine(first);
}
}
Результат выполнения кода:
True
97
Пример
Давайте сравним Peek до и после
Read:
using System;
using System.IO;
class Program
{
static void Main()
{
using var reader = new StringReader("abcde");
reader.Read();
int res = reader.Peek();
Console.WriteLine(res);
}
}
Результат выполнения кода:
98
Пример
Давайте проверим Peek в конце
текста:
using System;
using System.IO;
class Program
{
static void Main()
{
using var reader = new StringReader("a");
reader.Read();
int res = reader.Peek();
Console.WriteLine(res);
}
}
Результат выполнения кода:
-1
Смотрите также
-
метод
Read,
который сдвигает позицию -
свойство
EndOfStream,
которое связано с концом -
StringReader,
удобный источник дляPeek -
Stream,
основаStreamReader