将DataGridViewRow转换为String

时间:2010-12-26 14:54:54

标签: c# .net string

我有一个DataGridViewRow,我想将其转换为下面提到的格式的字符串:

cell[0].ToString()+"\t"+cell[1].Tostring()+"\t"+...+cell[n].ToString()

实际上我想要一个字符串,其中包含DataGridViewRow中每个单元格的字符串值以及它们之间的\t

最干净,最易读的方法是什么?使用循环并检查条件是唯一的方法吗?第一个解决方案是将每个单元格\t添加到临时字符串中,然后删除临时字符串的最后一个字符。

3 个答案:

答案 0 :(得分:2)

每当它循环时,LINQ就会拯救。

string.Join("\t", cell.Select(c => c.ToString()).ToArray())

答案 1 :(得分:1)

您可以扩展DataGridViewRow类:

    public static string Format(this DataGridViewRow row, string separator)
    {
        string[] values = new string[row.Cells.Count];
        for (int i = 0; i < row.Cells.Count; i++)
            values[i] = row.Cells[i].Value + "";
        return string.Join(separator, values);
    }

然后:

string msg = row.Format("\t");

答案 2 :(得分:0)

string output = row.Cells.Aggregate("", (a, current) => a + current + "\t");