모든 프로그래밍 언어에서 Null을 사용할 때주의하십시오. 위의 예는 또 다른 문제를 보여줍니다. Nullable 형식을 사용하는 경우 해당 형식에서 인스턴스화 된 변수가 System.DBNull.Value 값을 보유 할 수 있습니다. "= Nothing"을 사용하여 값을 기본값으로 설정하는 해석을 변경했거나 값의 Object가 이제 null 참조를 지원할 수 있다는 것이 아닙니다. 경고입니다 ... 즐거운 코딩!
값 유형을 포함하는 별도의 클래스를 만들 수 있습니다. 이러한 클래스에서 생성 된 객체는 Nothing이 할당 될 수있는 참조 유형이됩니다. 예 :
Public Class DateTimeNullable
Private _value As DateTime
Public Property Value() As DateTime
Get
Return _value
End Get
Set(ByVal value As DateTime)
_value = value
End Set
End Property
Public Sub New()
Value = DateTime.MinValue
End Sub
Public Sub New(ByVal dt As DateTime)
Value = dt
End Sub
Public Overrides Function ToString() As String
Return Value.ToString()
End Function
수업 종료
'Main () :
Dim dtn As DateTimeNullable = Nothing
Dim strTest1 As String = "Falied"
Dim strTest2 As String = "Failed"
If dtn Is Nothing Then strTest1 = "Succeeded"
dtn = New DateTimeNullable(DateTime.Now)
If dtn Is Nothing Then strTest2 = "Succeeded"
Console.WriteLine("test1: " & strTest1)
Console.WriteLine("test2: " & strTest2)
Console.WriteLine(".ToString() = " & dtn.ToString())
Console.WriteLine(".Value.ToString() = " & dtn.Value.ToString())
Console.ReadKey()
그런 다음 재정의 가능 항목을 선택하고 선택하여 필요한 작업을 수행 할 수 있습니다. 많은 작업-하지만 정말 필요한 경우 할 수 있습니다.