在C#中为数据行分配新值

时间:2018-05-03 14:43:44

标签: c#

我正在研究数据表并逐行获取,

我有50个长度值。我想将第10个长度值指定为“text”。

但在分配

后它不会存储在数据行中
foreach (DataRow row in dtSource.Rows)
{
    if (row.ItemArray[17].ToString().Length > 32)
     {
         string ss=   "text";  
         row.ItemArray[17] = ss; // here it is not added in itemarray
     }
}

1 个答案:

答案 0 :(得分:8)

DataRow.ItemArray动态创建一个包含所有字段的新数组。因此,当您修改此数组时,您将无法修改DataRow本身。您应该使用DataRow索引器:

row[17] = ss;

当您需要数组中的所有对象时,或者当您想通过为此属性指定数组时一次分配整个行的字段时,可以使用ItemArray