2009-05-06 16 views
21

में समतुल्य क्या सी/सी ++ 'जारी रखें' कीवर्ड के बराबर एक वीबी 6 है?सी/सी ++ 'जारी रखें' वीबी 6

सी/सी ++ में, 'जारी रखें' आदेश लूप के अगले पुनरावृत्ति को शुरू करता है।

बेशक, अन्य समकक्ष मौजूद हैं। मैं लूप के शेष कोड को if-statement में डाल सकता हूं। वैकल्पिक रूप से, मैं एक गोटो का उपयोग कर सकता था। (ओह!)

उत्तर

19

वीबी 6 में कोई समकक्ष नहीं है, लेकिन वीबी के बाद के संस्करण इस कीवर्ड को पेश करते हैं। इस आलेख में अधिक गहराई से स्पष्टीकरण है: http://vbnotebookfor.net/2007/06/04/the-continue-statement/

शायद आप अपने कोड को पुन: स्थापित कर सकते हैं या तो कोई कथन जोड़ सकते हैं या लूप को केवल उस फ़ंक्शन को कॉल कर सकते हैं जिसे आप वापस कर सकते हैं।

2

मैं एक बेवकूफ: पी धन्यवाद MarkJ

For index As Integer = 1 To 10 
     If index=9 Then 
      Continue For 
     End If 
    'some cool code' 
    Next 

नहीं केवल .net के लिए खेद है। मुझे लगता है कि आपको गोटो का उपयोग करना है, मुझे पता है कि यह जारी रखने के लिए 'क्लीनर' दिखता है लेकिन अगर मार्ग पर जाने में कुछ भी गलत नहीं है।

गलत।

Continue: 
    For index As Integer = 1 To 10 
       If index=9 Then 
        GoTo Continue 
       End If 
    'some cool code' 
    Next 

को सही

 For index = 1 To 10 
     If index=9 Then 
     GoTo Continue 
     End If  
    'some cool code' 
Continue: 
    Next 

नफरत vb

+1

आपका लेबल गलत जगह पर है। यह लूप को हर बार 1 से पुनरारंभ करेगा - अनंत लूप। मेरी राय में इसे अगली से पहले रखना सबसे अच्छा है। वास्तव में आपको एयर कोड का गंभीर मामला मिला है;) आपने वीबी 6 में स्टेटमेंट के रूप में "इंटीजर" शामिल किया है, जो वैध वीबी 6 नहीं है, और आपने वैरिएबल नाम के लिए i और index का उपयोग किया है आपके वीबीएनईटी और आपके वीबी 6 दोनों। – MarkJ

+0

स्पष्ट रूप से वीबीए 6 (ऑफिस 2010) में नहीं मिला, या तो। –

+0

जारी रखने के लिए गोटो का उपयोग करना स्टीव मैककनेल इसे डालने के बजाए एक भाषा में प्रोग्रामिंग का एक अच्छा उदाहरण है। –

6

दुर्भाग्य से वहाँ कोई VB6 अगर जारी है (?) - इस वीबी 2005 मेरा मानना ​​है कि में नया था।

मैं हमेशा गेटो स्टेटमेंट से डरता नहीं हूं - यह प्रभावी रूप से जारी है, लेकिन लूप के बाद लेबल वाली लाइन की आवश्यकता के बिना। जब तक आपके गोटो स्टेटमेंट बहुत दूर नहीं जाते हैं, वे हमेशा पठनीय होंगे, और शायद यह इस समस्या का सबसे शानदार समाधान है।

एक और लूप के अंदर/फिर/और अन्य को सुरक्षित करना वास्तव में एक अच्छा सरल गेटो के बाद पढ़ने और बनाए रखने के लिए कठिन है (गेटो लाइन पर एक टिप्पणी के साथ "'जारी रखने के लिए पढ़ा गया" जैसे कुछ कहने के साथ)।

शुभकामनाएं!

+1

दूसरे शब्दों में, "गेटो केवल हानिकारक माना जाता है जब कोई बेहतर विकल्प नहीं होता है"। एक भावना जो मैं पूरी तरह से सहमत हूं। (बेसिक के प्रारंभिक संस्करणों में आईएफ-थेन-गोटो के साथ "थोड़ी" लूप का निर्माण किया गया था, और जब तक आपके लूप बहुत बड़े नहीं थे तब तक यह इतना बुरा नहीं था।) –

6

वीबी 6 के पास लूप के लिए कोई जारी बयान नहीं है। आपको गोटो, अगर, या अन्य लूप का उपयोग करके इसे अनुकरण करना होगा।

//VB.net 
do 
    if condition then continue do 
    ... 
loop 
//VB6 equivalent (goto) 
do 
    if condition then goto continue_do 
    ... 
continue_do: 
loop 
//VB6 equivalent (if) 
do 
    if not condition then 
     ... 
    endif 
loop 

आप वीबी 6 में "बाहर निकलने" का उपयोग नहीं कर सकते हैं। लेकिन आप गोटो का उपयोग कर सकते हैं।

While condition 

    if should_skip then goto mycontinue 

    'code 

    if should_break then goto outloop 

    mycontinue: 

Wend 

outloop: