为什么调试器无休止地循环遍历级联"静态成员"和"价值"属性?

时间:2017-01-20 21:53:05

标签: c# visual-studio-2010 visual-studio-debugging datarow

当我调试从存储过程返回的数据时,我钻进DataRow以查看为数据集的各个成员分配了哪些值。这让我在一只野鹅追逐下了一个兔子洞,来自"静态会员"到"价值"然后又一次又一次地回来,这里可以看到:

enter image description here

为什么会这样做?

我在此块中对custNum的分配设置了断点:

foreach (DataRow delPerfDataRow in dtDelPerf.Rows)
{
     string custNum = delPerfDataRow["CustNo"].ToString();
     string memNum = delPerfDataRow["MemberNo"].ToString();
     . . .

在赋值语句之后,custNum和memNum都没有显示任何值,因此我右键单击delPerfDataRow以查看其他数据成员具有的值。然而,当涉及到挖掘CustNo数据成员时,试图看到这个值导致了这种多余的,反复出现的戏弄尾部追逐。

1 个答案:

答案 0 :(得分:2)

因为你一遍又一遍地看同样的事情。请看下面的图片:

enter image description here

s的值为System.DBNull,其中包含一个名为Value的字段。该字段的类型为System.DBNull,显然会有一个名为Value的字段。它一直在继续。

在你的情况下也会发生同样的事情。您的CustNo列已System.DBNull依此类推。如果您在快速监视窗口中查看它,您将看到与上图相同的窗口。