4

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;
}
4

2 に答える 2

2

まず第一に、これを決してしないでください:

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];

動作するはずです。

于 2012-08-31T03:28:55.530 に答える
1

これを試して、

 foreach (DataRow dr_row in dt_table.Rows)
  {
     dr_row[6] = dr_row[4];
  }

System.Text.StringBuilderデータを追加するために使用 します。

 System.Text.StringBuilder sb = new StringBuilder();
 sb.Append(value1);
于 2012-08-31T03:23:41.807 に答える