Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用户多行输入转换为数组并单独处理_C#_Arrays_Process_Textbox_Multiline - Fatal编程技术网

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

C# 用户多行输入转换为数组并单独处理,c#,arrays,process,textbox,multiline,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 R

我找不到任何示例,也无法确定如何将文本框中的行发送到数组,并单独用作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关闭提示时完成该过程并显示响应,但目前我的代码中只有错误或出现循环问题…

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

在代码中,您必须打印
String.Join(“,Textbox2Var)
,而不是只打印
Textbox2Var

整个线路将是:

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

这假设参数应该用空白空格分隔。

我不知道这与我的用例有什么关系,但假设调用cmd.exe只是为了不让命令框消失,以便查看结果。你会有什么不同的做法?我的用例是这样描述的:我希望当用户点击enter关闭提示时,这个过程会完成,并且会显示响应。主要的问题是数组。我可以在不使用cmd.exe的情况下调用该命令。我不知道这如何创建多行[command]参数1“+Textbox1Var+”“+String.Join(“,Textbox2Var))根据TextBox2中的行数传递到cmd.exe是否要调用
进程。为TextBox2中的每一行启动
?也许你应该明确你的目标。我的目标是让每一行都成为传递的命令中的一个参数。每一行本身就是一个命令。其他参数保留在用户在其他字段中输入的任何内容。它们是应该添加到文本框中的每一行。启动cmd.exe只是为了使命令的结果可以看到。在处理完所有命令后,用户点击enter关闭cmd.exe。在提交问题后,我实际上在想,使用textbox.lines创建一个新数组,并在处理之前将附加了其他参数的行写回textbox进行验证,这会更容易吗?