我想将数据表的 itemarray[4] 复制到该数据表的 itemarray[6]。我使用了这段代码,但没有看到任何变化:

foreach (DataRow dr_row in dt_table.Rows)
{
    foreach (var field_value in dr_row.ItemArray)
    {
        object cell_data = field_value;
        if (dr_row.ItemArray[6].ToString() == "")
        {
            dr_row.ItemArray[6] = dr_row.ItemArray[4];
        }
        original_data += cell_data.ToString();
    }
    original_data += Environment.NewLine;
}

最佳答案

首先永远不要这样做:

dr_row.ItemArray[6].ToString() == ""

改成这样:
dr_row.ItemArray[6].ToString() == String.Empty

或者:
 String.IsNullOrEmpty(dr_row.ItemArray[6].ToString())

然而,这只是好的做法。现在,到您面临的问题。
Itemarray 的作用是,它从该行创建一个新数组,这样如果您更改该数组,您就不会更改该行。

做这个:
dr_row[6] = dr_row[4];

应该管用。

关于c# - 如何将一个数据列的值复制到同一数据表C#中的另一个数据列中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12208442/

10-14 21:17