2009-06-18 18 views

उत्तर

9

दुर्भाग्यवश आपको इसे स्वयं करना है। For Each निर्माण अनुक्रम को फिर से चलाने के लिए IEnumerator इंटरफ़ेस को कार्यान्वित करने का उपयोग करता है और IEnumerator इंटरफ़ेस अनुक्रम के भीतर अपनी स्थिति या वर्तमान अनुक्रमणिका को इंगित करने के लिए किसी भी सदस्य को बेनकाब नहीं करता है।

+0

क्या कोई जानता है कि ऐसा क्यों है? –

2

आपको इसे स्वयं करना होगा। अधिकतर, यदि आप प्रत्येक के लिए कर रहे हैं (सी # में foreach), तो आप पुनरावृत्ति गणना की परवाह नहीं है।

0

एम तत्वों के संग्रह में प्रत्येक तत्व एम के लिए Foreach loops।

तो, नहीं, फोर लूप में कोई स्पष्ट पुनरावृत्ति गणना नहीं होगी।

6

यदि आप विजुअल स्टूडियो 200 (या वीबी.Net 9.0) का उपयोग कर रहे हैं, तो आप मूल्यों के साथ गिनने के लिए एक ओवरराइड का चयन कर सकते हैं।

For Each cur in col.Select(Function(x,i) New With { .Index = i, .Value = x }) 
... 
Next 
7

मैं एक iterator चर की जरूरत है, मैं बजाय एक for पाश का उपयोग करें (हर IEnumerable एक .Count संपत्ति होनी चाहिए)।

For Each element as MyType in MyList 
    .... 
Next 

लिखने

For i as integer = 0 to MyList.Count - 1 
    element = MyList(i) 
    .... 
Next 

जो एक ही परिणाम होगा करने के बजाय

। आपके पास i एक इटरेटर के रूप में है और element वर्तमान तत्व रखता है।

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