Проблема с StreamReader - PullRequest
       24

Проблема с StreamReader

1 голос
/ 29 марта 2010

Хорошо, вот что у меня есть,

List<string> lines = new List<string>();

using (StreamReader r = new StreamReader(f))
{
    string line;
    while ((line = r.ReadLine()) != null)
    {
        lines.Add(line);
    }
}

foreach (string s in lines)
{
    NetworkStream stream = irc.GetStream();

    writer.WriteLine(USER);
    writer.Flush();
    writer.WriteLine("NICK " + NICK);
    writer.Flush();
    writer.WriteLine("JOIN " + s);
    writer.Flush();


    string trimmedString = string.Empty;


    CHANNEL = s;
}

К сожалению, когда мой IRC-манекен входит в комнату с установленным паролем, он записывает пароль, если я заставлю его сменить канал с помощью команды, такой как #lol test

проверка пароля, так как CHANNEL = s; выдает пароль командой

writer.WriteLine("PRIVMSG " + CHANNEL + " :" + "Hello");

Это единственный способ записать в IRC, так что есть ли способ для "CHANNEL" быть только началом текста и просто #lol, чтобы он не записывал пароль?

Надеюсь, вы понимаете мою проблему.

Ответы [ 2 ]

2 голосов
/ 29 марта 2010

Вы можете разделить пробел и взять первый элемент:

CHANNEL = s.Split(' ')[0];

Это приведет к { "#lol", "test" }, хотя в идеале проверяется заранее:

string input = "#lol test";
string channel = "";
string key = "";
if (input.Contains(" "))
{   
    string[] split = input.Split(' ');
    channel = split[0];
    key = split[1];
}
else
{
    channel = input;
}
Console.WriteLine("Chan: {0}, Key: {1}", channel, key);
0 голосов
/ 29 марта 2010
CHANNEL = s.Substring(0,s.IndexOf(" "));
...