2009-05-12 6 views
18

हाय बनाम प्रबंधित कोड सी ++ में बनाम 2003 का उपयोग करके फ़ोरैच लूप का उपयोग कैसे करें।प्रबंधित कोड में सी ++ क्ली में foreach का उपयोग कैसे करें

+1

है, तो आप का उपयोग करें "प्रकार ^" नहीं "प्रकार" और आप एक वास्तविक वस्तु संदर्भ की आवश्यकता (iterate_me) ... और मैं सिर्फ इस शानदार मुलायम भोजन पाया जोचेन कलंबच के ब्लॉग पर: छुपा $ I चर पुनरावृत्ति की वर्तमान अनुक्रमणिका रखता है। http://blog.kalmbach-software.de/2009/12/30/the-mystic-variable-i-during-for-each/ –

उत्तर

-7

मुझे नहीं लगता कि कुलपति ++ foreach

+0

अच्छी तरह से, std :: for_each है, और बूस्ट। Foreach, और सामान्य के लिए लूप, इसलिए मुझे नहीं लगता कि आप काफी सही हैं –

+1

मुझे विश्वास नहीं है कि उनमें से कोई भी स्वचालित रूप से IENumerable पर लागू होता है। –

+0

वे निश्चित रूप से IENumerable का निपटान करने का ख्याल नहीं रखेंगे। – marklam

36

मैं इसे उपयोग नहीं किया है है कि है, लेकिन this MSDN article इंगित करता है सामान्य वाक्य रचना बस है:

for each(Type t in IEnumerable) 
{ 

} 
+1

यह सी # के समान है लेकिन प्रत्येक के लिए एक स्थान के साथ। VS2005 में – Skizz

+1

यह VS2003 में ठीक है, यह erroe.i नहीं जानता है y यह इस तरह व्यवहार करता है। – Cute

+1

प्यारा, क्योंकि यह विज़ुअल सी ++ (http://msdn.microsoft.com/en-us/library/xey702bw(VS.80).aspx) में नया है, सी ++ के लिए प्रबंधित एक्सटेंशन के साथ भ्रमित नहीं होना चाहिए। –

1

कुछ की तरह:

String^MyString = gcnew String("abcd"); 

for each (Char c in MyString) 

    Console::Write(c); 
+0

अपने स्रोत उद्धृत करें। वीएस 2003 में –

10

मैथ्यू ज्यादातर सही है, लेकिन यहां कोड का एक कामकाजी ब्लॉक है;

/////// 
array<Type^>^ iterate_me = gcnew array<Type^>(2); 
iterate_me[0] = Type::GetType("Type"); 
iterate_me[1] = Type::GetType("System.Int32"); 
/////// 

for each(Type^ t in iterate_me) 
    Console::WriteLine(t); 

परिवर्तन किया गया है प्रकार एक संदर्भ वर्ग

+0

प्रबंधित सी ++ दुर्भाग्यवश सी ++ से काफी अलग है। नेट जो वीएस 2005+ में पेश किया गया था। प्रत्येक 'ब्लॉक के लिए' नहीं था। ** प्रबंधित सी ++ ** पूरी तरह से बचा जाना चाहिए। सी ++ .NET उपयोग के लिए ठीक है। – pickypg

+0

अहह सही, शीर्षक ने मुझे भ्रमित कर दिया, यह पढ़ता है "सी ++ क्ली ..." मैंने उस हिस्से पर चमक ली जहां वह 2003 के बारे में पूछ रहा था। – RandomNickName42

+2

कोई बड़ा सौदा नहीं है। बस यह सुनिश्चित करना चाहता था कि Google/Bing से इसे ढूंढने वाला कोई भी प्रबंधित C++ विकास के अंधेरे पथ पर न जाए। – pickypg

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