将循环的所有结果存储在单个字符串中

时间:2012-04-24 00:31:42

标签: c#

我正在尝试将结果字符串存储在一起(将它们组合在一起)。

for (int i = 0; i < dataGridView1.Rows.Count; ++i)
{
    string pedido = dataGridView1.Rows[i].Cells[2].Value.ToString();
}

2 个答案:

答案 0 :(得分:5)

我会使用StringBuilder而不是String

StringBuilder sb = new StringBuilder();
for (int i = 0; i < dataGridView1.Rows.Count; ++i){
    sb.Append(dataGridView1.Rows[i].Cells[2].Value.ToString());
 }

string pedido = sb.ToString();

字符串是不可变的,因此无法更改。如果继续将值附加到同一个字符串,则可能会遇到一些性能问题,一直在创建和销毁这些值。 StringBuilder会让你在没有所有开销的情况下继续追加。

答案 1 :(得分:2)

与Linq这样的事情可能有用:

String.Join(",", (from a in dataGridView1.AsEnumerable() select a.Cells[2].Value.ToString()).ToList())