在Visual Studio调试器值“{}”中它意味着什么?

时间:2010-06-18 16:55:34

标签: .net visual-studio visual-studio-2008 debugging

我在Visual Studio 2008 .NET C#项目中观察到一个属性,调试器显示打开并立即关闭的大括号“{}”。 我相信它是未初始化的(I)List,但为什么它不显示“null”或“unitialized”。 “{}”意味着什么?

BR, 米兰。

3 个答案:

答案 0 :(得分:5)

最可能的原因是有问题的值的类型会覆盖.ToString()方法并返回空字符串。这将导致显示为{},因为C#EE包含了{}的内部.ToString的返回

答案 1 :(得分:1)

如果要更改调试器中显示的值,可以使用DebuggerDisplayAttribute控制它。您也可以改写.ToString()方法。但这可能会影响您应用程序的其他区域。

答案 2 :(得分:1)

这可以指示System.DBNull

的值

你可以这样检查:

                    foreach (var val in datarow.ItemArray)
                    {
                        if (val == DBNull.Value)
                        {
                            var item = val;
                        }
                    }