2012-12-01 20 views
18

कोड पर संक्षिप्त जानकारी निम्नानुसार है। कोड तारों का एक गुच्छा लेता है और मध्य में एक कथन के साथ निम्नानुसार होता है जो तय करता है कि उनमें से एक पर सहमति है या नहीं। समस्या यह है कि If(Evaluation, "", "") शिकायत कर रहा है कि यह निरर्थक नहीं होना चाहिए या संसाधन होना चाहिए .. मूल्यांकन के दौरान मैं इस बारे में कैसे काम करूं जब मूल्यांकन यह सुनिश्चित करने के लिए किसी ऑब्जेक्ट की जांच करता है कि यह कुछ भी नहीं है और यह भी कि वस्तु में एक संपत्ति की जांच की गई है निम्नानुसार है:इनलाइन IF कथन का उपयोग vb.net

Dim R as string = stringA & " * sample text" & _ 
    stringB & " * sample text2" & _ 
    stringC & " * sameple text3" & _ 
    If(ApplyValue IsNot Nothing AndAlso ApplyValue.CheckedBox Then ,StringD & " * sample text4" & _ 
    , NOTHING) 
stringE & " * sample text5" 

वीएस आवेदन वैल्यू के बारे में शिकायत कर रहा है। कोई विचार?

ध्यान देना चाहिए कि मैं सिर्फ अगर यह काम करेगा देखने के लिए निम्नलिखित की कोशिश की है और वी.एस. यह खारिज किया जाता है:

'IsNot' requires operands that have reference types, but this operand has the value type 'Double'. C:\Users\Skindeep\AppData\Local\Temporary Projects\WindowsApplication1\Form1.vb 13 16 WindowsApplication1 

उत्तर

38

:

Dim y As Double 
Dim d As String = "string1 *" & _ 
    "string2 *" & _ 
    If(y IsNot Nothing, " * sample text4", "") & _ 
    "string4 *" 

यह वही है इसके साथ y फ़्लैगिंग है आईआईएफ टर्नरी अभिव्यक्ति मूल्यांकनकर्ता

Dim R as string = stringA & " * sample text" & _ 
        stringB & " * sample text2" & _ 
        stringC & " * sameple text3" & _ 
        IIf(ApplyValue IsNot Nothing AndAlso ApplyValue.CheckedBox, StringD & " * sample text4", "") & _ 
        stringE & " * sample text5" 

संपादित करें: यदि आप 2008 के बाद से VB.NET का उपयोग करते हैं तो आप सह uld भी

IF(expression,truepart,falsepart) 

और यह भी बेहतर है क्योंकि यह शॉर्ट-सर्किट कार्यक्षमता प्रदान करता है।

Dim R as string = stringA & " * sample text" & _ 
        stringB & " * sample text2" & _ 
        stringC & " * sameple text3" & _ 
        If(ApplyValue IsNot Nothing AndAlso ApplyValue.CheckedBox, StringD & " * sample text4", "") & _ 
        stringE & " * sample text5" 
+0

धन्यवाद ज्यादा लगता है कि मैं इस IIF बयान को पढ़ने जाना चाहिए के रूप में मैंने देखा है यह अन्य पदों में उल्लेख किया है ... IF (अभिव्यक्ति, truepart, falsepart) सुझाव देने के लिए – Skindeep2366

+2

+1। –

+0

@Steve मैंने उपरोक्त कोशिश की है जो सही दिखता है लेकिन यदि आप मेरे संपादन को देखते हैं तो आप देखेंगे कि यह क्या कह रहा है .. यह ध्यान दिया जाना चाहिए कि मुझे पता है कि मेरे उदाहरण में मैंने वाई को कोई मूल्य नहीं दिया है। वास्तविक कोड में जहां इसका उपयोग किया जाता है y को मान दिया जाता है या 0.0 रहता है कोई विचार ??? इसके अलावा यह ध्यान दिया जाना चाहिए कि मेरा ओपी आपके द्वारा पोस्ट की गई वही चीज़ थी, समस्या को भी देखा नहीं गया था ... मुझे अभिव्यक्ति पर वीएस ध्वज क्यों मिल रहा है ??? – Skindeep2366

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