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