2010-11-18 15 views
11

संभव डुप्लिकेट:
Is there a conditional ternary operator in VB.NET?क्या VB.Net में C# (cond? A: b) में shorthand if-Then-Else का कोई संस्करण है?

वहाँ आशुलिपि का एक संस्करण हैं-फिर वरना-सी # में है:

c = (a > b) ? a : b; 

अर्थ ...

if (a > b) { 
    c = a; } 
else { 
    c = b; } 

.. वीबी.Net में?

+0

यह http://stackoverflow.com/questions/576431/is-there-a-conditional-ternary-operator-in-vb-net का डुप्लिकेट है और हाँ – PeteT

उत्तर

17

आप उपयोग करना चाहते हैं If operator:

Dim maximum = If(a > b, a, b) 

वहाँ भी बड़े Iif function, जो अभी भी काम करता है, लेकिन If बेहतर है, यह बाद से:

  • प्रदर्शन अनुमान टाइप करें (अगर a और b दोनों पूर्णांक हैं, वापसी मूल्य किसी ऑब्जेक्ट के बजाय एक पूर्णांक होगा) और
  • ऑपरेशन को कम-कटौती (यदि a > b, केवल a का मूल्यांकन किया जाता है, और इसके विपरीत) - यह प्रासंगिक है यदि a या b फ़ंक्शन कॉल है।
6

हाँ IF आप क्या चाहते हैं

यहाँ कुछ संदर्भ

http://msdn.microsoft.com/en-us/library/bb513985

यहाँ इसके उपयोग है है

c = IF(a > b, a , b) 

जाहिर है एक ऑपरेटर IIF कहा जाता है, लेकिन यह किया गया है वहाँ था पदावनत।

+1

इस सुपर पदावनत, यह अब बस अगर। – msarchet

+1

कड़ाई से मेरा मानना ​​है कि 'IIf' एक * फ़ंक्शन * है और 'अगर' एक * ऑपरेटर * – MarkJ

+0

@MarkJ ठीक है, IIF hsa अधिक ओवरहेड – msarchet

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