我有一个DataGridViewRow
,我想将其转换为下面提到的格式的字符串:
cell[0].ToString()+"\t"+cell[1].Tostring()+"\t"+...+cell[n].ToString()
实际上我想要一个字符串,其中包含DataGridViewRow
中每个单元格的字符串值以及它们之间的\t
。
最干净,最易读的方法是什么?使用循环并检查条件是唯一的方法吗?第一个解决方案是将每个单元格\t
添加到临时字符串中,然后删除临时字符串的最后一个字符。
答案 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");