2010-06-18 3 views
4

내 Visual Studio 2008 .NET C# 프로젝트에서 하나의 속성을 관찰하고 디버거가 열려있는 것을 보여주고 즉시 중괄호 "{}"를 닫습니다. 저는 그것이 초기화되지 않았다고 (I) List하지만, 왜 "null"또는 "unitialized"를 보여주지 않는지 믿습니다. 무엇 않습니다 그 의미 ?Visual Studio 디버거 값 "{}"의 의미는 무엇입니까?

br, 밀라노.

+0

나에게 내부 아무것도 목록 것 같은데 : –

+0

Will Eddins에 동의합니다. 빈 목록처럼 보입니다. – Kyra

답변

4

가장 큰 이유는 해당 값의 유형이 .ToString() 메서드를 무시하고 빈 문자열을 반환하기 때문입니다. 이로 인해 C# EE가 {}의 내부에서 .ToString의 결과를 래핑하므로 표시가 {}이됩니다.

1

디버거에 표시된 값을 변경하려면 DebuggerDisplayAttribute으로 제어 할 수 있습니다. 대신 .ToString() 메소드를 무시할 수도 있습니다. 그러나 이것은 응용 프로그램의 다른 영역에 영향을 줄 수 있습니다.

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

당신은 다음과 같이 반대 확인할 수 있습니다 System.DBNull

의 값을 표시 할 수 있습니다.

관련 문제