Câu hỏi nhanh, trong đó câu trả lời nhanh nhất và dễ nhất có thể là sắp xếp lại mã liên quan, nhưng hãy xem ...VB.NET 'Nếu' tuyên bố với 'Hoặc' có điều kiện có cả hai mặt được đánh giá?
Vì vậy, tôi có tuyên bố If
(một đoạn mã là một phần của giải pháp làm việc đầy đủ) viết bằng C#) viết lại bằng VB.NET. Tôi biết phương pháp VB.NET IIf(a, b, c)
đánh giá cả b
và a
không phụ thuộc vào trueness của việc đánh giá đầu tiên, nhưng điều này dường như phải là trường hợp trong xây dựng tiêu chuẩn của tôi, quá:
If (example Is Nothing Or example.Item IsNot compare.Item) Then
'Proceed
End If
Hay nói đúng hơn, thích hợp hơn:
If (example Is Nothing Or Not example.Item = compare.Item) Then
'Proceed
End If
ở đây, nếu example
là Nothing
(null
) sau đó tôi vẫn nhận được một NullReferenceException
- là điều này là lỗi của tôi, hoặc là nó một cái gì đó tôi chỉ phải chịu đựng tại whim của VB .MẠNG LƯỚI?
Trong 99,9% của tất cả các trường hợp, bạn nên sử dụng ' OrElse' và 'AndAlso' thay vì' hoặc' và 'và'. –