我有一個驗證數據的IF語句。IF語句的優先級部分
基本上是這樣的:
Dim s As String = Nothing
If s Is Nothing Or s.Length = 0 Then
Console.WriteLine("Please enter a value")
End If
Console.Read()
我想檢查,看看沒什麼第一,因爲如果我這樣寫,它拋出一個NullReferenceException。
我想重新寫這樣的:
If s Is Nothing Then
Console.WriteLine("Please enter a value")
ElseIf s.Length = 0 Then
Console.WriteLine("Please enter a value")
End If
但如果我這樣做,我得到了相同的錯誤消息兩次,我相信這是不太清楚我的意圖是什麼。
我也試過在Is Nothing子句中引入括號,但它不起作用。
是否有一個優雅的測試對象是什麼,然後測試它的屬性?
真。但是,這並不能解釋爲什麼他的第二個代碼也拋出了NullReference異常。在對這個關鍵字的無知中,他的第二個代碼應該是一個有效的解決方法。 –
@Daniel Daranas:嗯,那是真的。我想我只是不能包裹我的頭是無返回NullReferenceException。 – Powerlord
哎呀,我想我誤解了OP說的話。他說他「兩次得到相同的錯誤信息」,可能是指「請輸入一個值」。 –