Пользовательский многострочный ввод преобразуется в массив и обрабатывается индивидуально - PullRequest
0 голосов
/ 12 июня 2019

Я не могу найти ни примеров, ни определить, как отправлять строки из текстового поля в массив и использовать отдельно как часть аргумента для cmd.exe.

Я могу обработать одну строку, но когда я пытаюсь реализовать массив, я зависаю.

    private void Button1_Click(object sender, EventArgs e)
    {
        var Textbox1Var = Textbox1.Text;
        string[] Textbox2Var = Textbox1.Text.Split('\n');
        void RunCmd()
        {
            Process.Start("cmd.exe", @"/k [command] parameter1 " + 
Textbox1Var + " " + Textbox2Var).WaitForExit();
//I know this isn't right and I probably need a foreach somewhere
//That's wht I need help with. 
//This is the current stored code but have made multiple attempts
        }
        RunCmd();
    }

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

1 Ответ

0 голосов
/ 12 июня 2019

Вам нужно перебрать все записи в массиве Textbox2Var и распечатать их.Для этого в вашем коде есть вспомогательная функция String.Join.

. Вместо того, чтобы просто печатать Textbox2Var, вы должны напечатать результаты String.Join(" ", Textbox2Var).

.вся строка будет выглядеть следующим образом:

Process.Start("cmd.exe", @"/k [command] parameter1 " + Textbox1Var + " " + String.Join(" ", Textbox2Var)).WaitForExit();

Предполагается, что аргументы должны быть разделены пустым пробелом.

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