2011-11-16 29 views
6

Tôi đang cố gắng có một bàn tay ngắn cho một tuyên bố nếu tôi đang xây dựng một truy vấn biểu thức và nếu kiểm tra là null accessor gây ra lỗi.Tay ngắn Nếu tuyên bố không có khác

test != null ? test.Contains("mystring") : NO_VLAUE 

Tôi đang tìm kiếm:

test != null ? test.Contains("mystring") 

otherwise ignore. 

Tôi biết tôi có thể sử dụng một ?? cho is null nhưng có một nghịch đảo.

Xin cảm ơn trước.

+0

Chuỗi rỗng có thể? –

Trả lời

8

Có vẻ như bạn muốn test != null && test.Contains("mystring")

Câu hỏi của bạn được hỏi không có ý nghĩa. Tất cả các biểu thức, bao gồm toán tử điều kiện, phải có một giá trị. Bạn mong đợi biểu thức nào sẽ đánh giá nếu test là rỗng?

Bạn có thể muốn nó sai nếu thử nghiệm là rỗng.
Nói cách khác, bạn muốn nó đúng nếu thử nghiệm không phải là rỗng và nó chứa mystring.

7

Có vẻ như bạn sức mạnh muốn:

test != null && test.Contains("mystring") 

Đó sẽ đánh giá để false nếu test là null - đó là những gì bạn muốn? Về cơ bản, bạn cần phải nói những gì bạn muốn xảy ra nếu test null, nếu không, bạn không thể sử dụng nó làm biểu thức.

Các vấn đề liên quan