#asp.net #vb.net
#asp.net #vb.net
Вопрос:
Sub Main()
Dim e As Example = New Example()
' Set property.
If Date.TryParse("Null", e.Number) Then
'get the valid date
'10/12/2016'
Else
'get the value as nothing
'Nothing
End If
' Get property.
Console.WriteLine(e.Number)
Console.ReadKey()
End Sub
Class Example
Private _count As Date
Public Property Number() As Date
Get
Return _count
End Get
Set(ByVal value As Date)
_count = value
End Set
End Property
End Class
Я хочу получить правильную дату, если дата действительна, если иначе мне нужно ничего не хранить или null внутри e.number
Примечание: — Я должен получить значение в e.number
Ответ №1:
Вам нужно объявить свое свойство как обнуляемое, что означает использование Nullable(Of Date)
или сокращение Date?
. Затем вы можете сделать это:
If Date.TryParse(myString, myDate) Then
myObject.MyNullableDateProperty = myDate
Else
myObject.MyNullableDateProperty = Nothing
End If
Когда приходит время использовать тип значения с нулевым значением, вы должны сначала использовать его HasValue
свойство, чтобы определить, есть ли значение для использования, а затем получить это значение из его Value
свойства, например
If myObject.MyNullableDateProperty.HasValue Then
Console.WriteLine("The date is " amp; myObject.MyNullableDateProperty.Value.ToString())
Else
Console.WriteLine("There is no date")
End If