将C#WPF项目转换为字符串形式的Foreach列表

时间:2015-04-17 09:23:12

标签: c# wpf foreach

我有一个Click函数,用于启动带有所选参数的程序

private void Launch_Click(object sender, RoutedEventArgs e)
 {
 //start up proccess here

 Process.StartInfo.Arguments = app + app_output + nosplash + showscripterrors;

 etc...

 }

工作正常但是对于字符串app_output是使用下面代码的foreach语句。问题是在参数中只设置了最后一个foreach项。我基本上希望app_string是itemA; itemB; itemC等......

string app_string = "0";
string app_output = "0";
foreach (var item in TheList)
{
 //item.PropertyChanged += TheList_Item_PropertyChanged;
 if (item.IsSelected == true)
{
app_string = item.TheText;
app_output = app_string + ";";
}
else
{
//System.Windows.MessageBox.Show("no item selected");
}
}

我将如何获取app_output来呈现foreach项目?喊我将foreach输入数组?

我已尝试将foreach代码放在参数字符串中,但不允许在其中使用foreach方法。

2 个答案:

答案 0 :(得分:2)

使用它:

string line = string.Join(";", TheList.Where(x => x.IsSelected).Select(x => x.TheText));
  

String.Join方法

     

使用每个元素之间的指定分隔符连接指定数组的元素或集合的成员   构件。

     

https://msdn.microsoft.com/en-us/library/system.string.join%28v=vs.110%29.aspx

答案 1 :(得分:1)

最好的是使用StringBuilder:

StringBuilder sb = new StringBuilder();

        foreach(var item in TheList)
        {
            sb.AppendFormat("{0};",item);
        }

        string app_ouput = sb.ToString();