2011-11-16 14 views
6

मैं एक कथन के लिए एक छोटा सा हाथ रखने की कोशिश कर रहा हूं क्योंकि मैं अभिव्यक्ति क्वेरी बना रहा हूं और यदि परीक्षण शून्य है तो एक्सेसर त्रुटि का कारण बनता है।शॉर्ट हाथ अगर बिना किसी बयान

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

मैं देख रहा हूँ:

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

otherwise ignore. 

मैं जानता हूँ कि मैं is null के लिए एक ?? उपयोग कर सकते हैं लेकिन एक उल्टा होता है।

अग्रिम धन्यवाद।

+0

खाली स्ट्रिंग शायद? –

उत्तर

8

ऐसा लगता है कि आप test != null && test.Contains("mystring")

आपका प्रश्न चाहते हैं के रूप में पूछा मतलब नहीं है लगता है। सशर्त ऑपरेटर समेत सभी अभिव्यक्तियों का मूल्य होना चाहिए। test शून्य होने पर मूल्यांकन करने के लिए आप उस अभिव्यक्ति की अपेक्षा कैसे करेंगे?

यदि आप परीक्षण शून्य हैं तो शायद आप झूठी होना चाहते हैं।
दूसरे शब्दों में, यदि आप परीक्षण शून्य नहीं हैं और इसमें mystring है, तो आप इसे सत्य मानना ​​चाहते हैं।

7

यह की तरह लगता है आप हो सकता है हैं:

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

कि करने के लिए false अगर test रिक्त है का मूल्यांकन करेंगे - कि तुम क्या चाहते है? मूल रूप से आपको यह कहना होगा कि आप क्या करना चाहते हैं यदि test शून्य है, अन्यथा इसे अभिव्यक्ति के रूप में उपयोग नहीं किया जा सकता है।

संबंधित मुद्दे