用户多行输入转换为数组并单独处理

时间:2019-06-11 21:42:39

标签: c# arrays process textbox multiline

我找不到任何示例,也无法确定如何将行从文本框发送到数组,并且不能单独用作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();
    }

我希望该过程能够完成并在用户按下Enter键以关闭提示时显示响应,但是目前我仅在代码中遇到错误或出现了循环问题...

1 个答案:

答案 0 :(得分:0)

您必须遍历Textbox2Var数组中的所有条目并进行打印。为此,有一个名为String.Join的辅助函数。

在您的代码中,您不仅要打印Textbox2Var,还必须打印String.Join(" ", Textbox2Var)的结果。

整行是:

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

这假定参数应由空格分隔。