StreamReader сохраняет ReadLine в строку и использует его, если - PullRequest
0 голосов
/ 20 сентября 2018

Привет. Я хочу сохранить вывод из reader.ReadToEnd () в строку и проверить, является ли строка «Access», но я не знаю, как это сделать.

string url = "https://mywebsite.com/check.php";
Stream mystream = client.OpenRead(url);
StreamReader reader = new StreamReader(mystream);
Console.WriteLine(reader.ReadToEnd()); //The text will be "Access"

//Pseudecode start
string line = reader.ReadToEnd();

if (line == "Access")
{
    useraccess = true;
    Console.WriteLine("Done!");
}
mystream.Close();

1 Ответ

0 голосов
/ 20 сентября 2018

Вы читаете поток дважды без какого-либо сброса, было бы более целесообразно прочитать его только один раз.Также вы должны утилизировать ваш поток и потоковый ридер соответственно.См. Следующее:

        string url = "https://mywebsite.com/check.php";
        string remoteData = null;
        using (Stream mystream = client.OpenRead(url))
        using (StreamReader reader = new StreamReader(mystream))
            remoteData = reader.ReadToEnd();
        Console.WriteLine(remoteData); //The text will be "Access"

        //Pseudecode start
        if (remoteData == "Access")
        {
            useraccess = true;
            Console.WriteLine("Done!");
        }

Это должно работать при условии, что ReadToEnd () возвращает то, что вы хотели, чтобы он возвратил.Я не знаю, как выглядит ваша конечная точка, поэтому я не могу проверить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...