为什么调试器会无限循环级联 "Static Members" 和 "Value" 属性?
Why does the debugger endlessly loop over cascading "Static Members" and "Value" properties?
当我调试从存储过程返回的数据时,我深入到 DataRow 以查看为数据集的各个成员分配了哪些值。这让我陷入了徒劳的追逐,从 "Static Members" 到 "Value" 然后又回来,一遍又一遍,如下所示:
为什么要这样做?
我在这个块中对 custNum 的赋值设置了一个断点:
foreach (DataRow delPerfDataRow in dtDelPerf.Rows)
{
string custNum = delPerfDataRow["CustNo"].ToString();
string memNum = delPerfDataRow["MemberNo"].ToString();
. . .
custNum 和 memNum 在赋值语句之后都没有显示任何值,所以我 right-clicked delPerfDataRow 来查看其他数据成员有哪些值。但是,在深入研究 CustNo 数据成员时,试图查看该值导致了这种重复的重复取笑 tail-chasing.
因为你一遍又一遍地看着同一件事。看下图:
s
的值是 System.DBNull
,它有一个名为 Value
的字段。该字段的类型为 System.DBNull
,显然会有一个名为 Value
的字段。并且继续下去。
你的情况也一样。您的 CustNo
列有 System.DBNull
等等。如果您在快速观看window中查看它,您将看到与上图相同的window。
当我调试从存储过程返回的数据时,我深入到 DataRow 以查看为数据集的各个成员分配了哪些值。这让我陷入了徒劳的追逐,从 "Static Members" 到 "Value" 然后又回来,一遍又一遍,如下所示:
为什么要这样做?
我在这个块中对 custNum 的赋值设置了一个断点:
foreach (DataRow delPerfDataRow in dtDelPerf.Rows)
{
string custNum = delPerfDataRow["CustNo"].ToString();
string memNum = delPerfDataRow["MemberNo"].ToString();
. . .
custNum 和 memNum 在赋值语句之后都没有显示任何值,所以我 right-clicked delPerfDataRow 来查看其他数据成员有哪些值。但是,在深入研究 CustNo 数据成员时,试图查看该值导致了这种重复的重复取笑 tail-chasing.
因为你一遍又一遍地看着同一件事。看下图:
s
的值是 System.DBNull
,它有一个名为 Value
的字段。该字段的类型为 System.DBNull
,显然会有一个名为 Value
的字段。并且继续下去。
你的情况也一样。您的 CustNo
列有 System.DBNull
等等。如果您在快速观看window中查看它,您将看到与上图相同的window。