更新新DataRow中的值也会影响DataTable的位置吗?

时间:2017-03-08 08:36:25

标签: c# datatable datarow

这是我的第一个问题,
我已经四处寻找,但我无法得到答案,
我会感谢任何帮助。

假设我有一个名为dtTest的DataTable

+----+------+
| id | name |
+----+------+
|  1 | AA   |
|  2 | BB   |
+----+------+

当我从dtTest创建新的DataRow并更新其值

DataRow drTest = dtTest.Rows[0];
drTest["name"] = "CC";

我认为我唯一改变的是新对象drTest中的值,
它独立于dtTest
但是dtTest实际上也受到了影响。

+----+------+
| id | name |
+----+------+
|  1 | CC   |
|  2 | BB   |
+----+------+

为什么此操作会影响原始DataTable?

2 个答案:

答案 0 :(得分:2)

这不会创建新行,而只是对表中第一行的引用:

var myText = "<input>";

console.log(myText.match(/[(a-z)]+/g)[0]);

如果您想要一个新行,您可以选择以下选项:

DataRow drTest = dtTest.Rows[0];  // Rows is a DataRowCollection which contains all table-rows

答案 1 :(得分:0)

drTestdtTest表格的行对象。因此,drtest的任何更改都会影响您的数据表dtTest

如果你想要一个新行:

DataRow drTest1 = dtTest.NewRow();
dtTest["ID"] = 3;
dtTest["name"] = "CC;