0

所以,我在 c# ASP.Net 上做一个考试准备,我偶然发现了一个问题,这似乎很简单,直到我决定检查一下。

“在调用 RejectChanges 方法后,当前处于已添加状态的行 (RowState) 的状态是什么?”

a) 未修改

b) 分离式

c) 添加

d) 修改

现在,当我第一次想到它时,我假设一行被插入到数据集合中,它的状态因此被添加,并且在使用 RejectChanges 方法撤销更改并因此删除新添加的行时,我假设集合将是未修改的,并且行的实际状态将是分离的,因为它不再存在于集合中。

然后我对此进行了进一步调查,并从 MSDN 中发现:

“当 RejectChanges 被调用时,所有行状态为已添加的行都将被删除。其余行的行状态为未更改”

因此,从这里,a) 未修改 = 未更改。

但随后,我检查了一行如何获得状态不变:

"新建行的RowState设置为Detached。通过调用Add方法将新DataRow添加到DataRowCollection后,RowState属性的值设置为Added。

还为已使用 Remove 方法或 Delete 方法后跟 AcceptChanges 方法从 DataRowCollection 中删除的行设置了 Detached。"

因此,由此得出它应该是 b) 分离的。

PS:老实说,这个问题并不重要,但我真的很好奇实际答案(及其背后的推理)以及我最初的逻辑是否正确。

感谢您的时间,并为文字墙感到抱歉。

4

0 回答 0