2010-03-29 18 views
19

कैसे मैं एक है .. लिख सकता हूँ जबकि सी # में पाश?करो .. जबकि सी # में लूप?

(संपादित करें:।! मैं सी # करने के लिए कदम बनाने की कोशिश कर एक VB.NET प्रोग्रामर हूँ, इसलिए मैं के साथ नेट/वीबी वाक्य रचना धन्यवाद अनुभव है)

+11

एमएसडीएन इस तरह के प्रश्नों के लिए एक सोने की खान है। सी # 'do' कीवर्ड: http://msdn.microsoft.com/en-us/library/370s1zax(VS.80).aspx –

+0

चूंकि आप वीबीएनईटी से आ रहे हैं, मैंने जो कुछ लिंक प्रदान किए हैं, उन्हें देखें लूप के साथ सिंटैक्स तुलनाओं के साथ-साथ नीचे दिए गए उत्तर में आपको जो कुछ भी चाहिए, उसे देखने के लिए नीचे – dferraro

उत्तर

4
//remember, do loop will always execute at least once, a while loop may not execute at all 
//because the condition is at the top 
do 
{ 
    //statements to be repeated 
} while (condition); 
+0

आपकी वांछित स्थिति एक बूलियन अभिव्यक्ति नहीं है ... –

+0

@ जोन स्कीट - क्षमा करें, मैं सामान्य रूप से वीबी – BlackICE

+1

करता हूं {} जबकि (सत्य); –

1

यहाँ एक सरल उदाहरण है कि होगा कुछ संख्या मुद्रित:

int i = 0; 

do { 
    Console.WriteLine(++i); 
} while (i < 10); 
42

सामान्य रूप है:

do 
{ 
    // Body 
} while (condition); 

कहाँ condition के कुछ अभिव्यक्ति है bool टाइप करें।

व्यक्तिगत रूप से मैं शायद ही कभी लिखता/लिखता हूं - for, foreach और सीधे while लूप मेरे अनुभव में अधिक आम हैं। उत्तरार्द्ध है:

while (condition) 
{ 
    // body 
} 

while और do...while के बीच अंतर यह है कि पहले मामले में शरीर कभी नहीं अगर शर्त के साथ शुरू करने के लिए गलत है निष्पादित किया जाएगा है - जबकि बाद के मामले में यह हमेशा से पहले एक बार मार डाला है स्थिति का मूल्यांकन कभी किया जाता है।

+11

और यह कुंजी है .. यदि आप गारंटी देते हैं कि पहली बार निष्पादन की गारंटी है, तो डू-टाइम का उपयोग करें। अन्यथा, वास्तव में एक बेहतर दृष्टिकोण है। –

1
using System; 

class MainClass 
{ 
    public static void Main() 
    { 
     int i = 0; 
     do 
     { 
      Console.WriteLine("Number is {0}", i); 
      i++; 
     } while (i < 100); 
    } 
} 

एक अन्य विधि

using System; 

class MainClass 
{ 
    public static void Main() 
    { 
     int i = 0; 
     while(i <100) 
     { 
      Console.WriteLine("Number is {0}", i); 
      i++; 
     } 
    } 
} 
+0

स्पष्ट स्पष्टीकरण के लिए धन्यवाद –

0

अलावा एंथोनी Pegram के जवाब से हो सकता है, आप भी, जबकि पाश, जो लूप में हो रही करने से पहले हालत की जाँच करता है का उपयोग कर सकते

while (someCriteria) 
{ 
    if (someCondition) 
    { 
     someCriteria = false; 
     // or you can use break; 
    } 
    if (ignoreJustThisIteration) 
    { 
     continue; 
    } 
} 
1

काफी आश्चर्य की बात है कि किसी ने अभी तक निर्माण के लिए शास्त्रीय उदाहरण का उल्लेख नहीं किया है। Do..while जाना जब आप कुछ कोड, कुछ (सामान्य रूप से क्या उस कोड का निष्पादन के दौरान हुआ के आधार पर) चलाने की जाँच करें या सत्यापित करना चाहते हैं जिस तरह से है, और यदि आप परिणाम पसंद नहीं है, फिर से शुरू। (जब हालत काफी सरल है, यह पाश निर्माण पर सीधे यह जगह आम है अंदर:

bool CheckInput(string input) { ... } 
... 
string input; 
... 
do { 
    input=Console.ReadLine(); 
} while(!CheckInput(input)); 

काफी सामान्य रूप है यही कारण है कि: यह आप वास्तव में क्या जरूरत है जब आप कुछ उपयोगकर्ता इनपुट है कि कुछ कमी फिट बैठता है चाहता हूँ "जबकि" कीवर्ड के बाद ब्रैकेट्स, इसकी गणना करने की विधि रखने के बजाय।

इस प्रयोग में महत्वपूर्ण अवधारणाओं आप कम से कम एक बार उपयोगकर्ता इनपुट अनुरोध करने के लिए (सबसे अच्छा मामले में, उपयोगकर्ता सही पहली कोशिश में यह मिल जाएगा) है कि कर रहे हैं; और यह स्थिति वास्तव में बहुत अधिक समझ में नहीं आती है जब तक कि शरीर कम से कम एक बार निष्पादित नहीं हो जाता है। इनमें से प्रत्येक अच्छा संकेत नौकरी के लिए उपकरण है कि do..while, दोनों उनमें से एक साथ लगभग एक गारंटी कर रहे हैं।

7

के बाद से आप का उल्लेख आप VB.NET से आ रहे थे, मैं दृढ़ता से बाहर this link देखने का सुझाव देते हैं तुलना दिखाने के लिए। तुम भी this wensite का उपयोग सी # और इसके विपरीत वीबी कन्वर्ट करने के लिए कर सकते हैं - तो आप अपने मौजूदा VB कोड के साथ खेलते हैं और देखते हैं कि यह छोरों और बेटे के तहत कुछ और सहित सी #, में की तरह दिखता है सकते हैं ..

पाश सवाल का जवाब करने के लिए, आप सरल चाहते हैं की तरह कुछ करने के लिए:

while(condition) 
{ 
    DoSomething(); 
} 

तुम भी कर सकते हैं - जबकि इस तरह:

do 
{ 
    Something(); 
} 
while(condition); 

यहाँ another code translator मैं सफलता के साथ किया गया है, और another great C#->VB comparison website। शुभ लाभ!

+0

तुलना पृष्ठ के लिंक के लिए धन्यवाद .. यह वही है जो मुझे चाहिए –

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