循环遍历数据集

本文关键字:数据集 遍历 循环 | 更新日期: 2023-09-27 18:06:27

我正在遍历DataSet的行和列,以使用管道分隔符写入文本文件。我让它工作,除了我需要离开最后一列的管道。有没有办法让我调整循环到循环通过领域。计数1,然后引用循环外的最后一个字段?

foreach (object item in row.ItemArray)
{
    d = d+ item.ToString() + "|";
}

循环遍历数据集

您可以使用String连接任何IEnumerable(包括数组)的内容。加入,如:

var newText = String.Join("|",row.ItemArray);

您可以使用以下TrimEnd(Char[])方法

d.TrimEnd(new char[]{'|'});

您可以使用Linq Aggregate:

d = row.ItemArray.Aggregate((x, y) => x.ToString() + "|" + y.ToString());

您可以使用:

string.Join("|", row.ItemArray);

您可以使用string.Join方法,如下所示:

string.Join("|", row.ItemArray);

但是,如果您还在foreach循环中执行其他逻辑,请考虑使用StringBuilder代替。这比反复连接字符串有巨大的性能提升。然后,你可以通过调整它的长度来简单地修剪掉最后的管道。

var d = new StringBuilder();
foreach (object item in row.ItemArray)
     d.Append(item.ToString()).Append("|");
d.Length -= 1;

循环后:

d = d.remove(d.Count()-1);

这将删除字符串的最后一个字符。

for(int i = 0; i < row.ItemArray.Length; i ++)
{
    if(row.ItemArray[i] == row.itemArray[row.itemArray - 1])
    {
        d = d+ item.ToString();
    }
    else
    {
    d = d+ item.ToString() + "|";
    }
}

仅在添加其他值时添加分隔符。

for(int i = 0; i < row.ItemArray.Length; i ++)
{
    if( d.length == 0)
    {
        d = item.ToString();
    }
    else
    {
        d = d + "|" + item.ToString();
    }
}