使用 C# 基于列的值复制数据表中的记录

本文关键字:数据表 记录 复制 于列 使用 | 更新日期: 2023-09-27 18:33:20

>我在dataTable中有一条记录,如下所示。

1  Test   7Dec2014   15:40   one,two,three

由于最后一列有 3 个逗号分隔的值,因此生成的DataTable应如下所示,其中包含复制的记录。

1 Test 7Dec2014 15:40 one
2 Test 7Dec2014 15:40 two
3 Test 7Dec2014 15:40 three

请帮助我以优化的方式实现上述结果。

使用 C# 基于列的值复制数据表中的记录

我发现针对上述问题的优化方法如下。如果有人有更好的解决方案,请告诉我。

    string[] strValues;
    for (int i = 0; i < dtTable.Rows.Count; i++)
    {
        strValues= dtTable.Rows[i]["Column_Name"].ToString().Split(',');
        if (strValues.Length > 1)
        {
            dtTable.Rows[i]["Column_Name"] = strValues[0];
            for (int j = 1; j < strValues.Length; j++)
            {
                var TargetRow = dtTable.NewRow();
                var OriginalRow = dtTable.Rows[i];
                TargetRow.ItemArray = OriginalRow.ItemArray.Clone() as object[];
                TargetRow["Column_Name"] = strValues[j];
                dtTable.Rows.Add(TargetRow);
            }
        }
    }