C# 用户多行输入转换为数组并单独处理
我找不到任何示例,也无法确定如何将文本框中的行发送到数组,并单独用作cmd.exe参数的一部分 我可以处理一行,但当我尝试实现数组时,我会挂断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
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进行验证,这会更容易吗?