क्या कुछ दुर्लभ भाषा का निर्माण है जिसका मैंने सामना नहीं किया है (जैसे कि मैंने हाल ही में कुछ सीखा है, कुछ स्टैक ओवरफ्लो पर) C # में एक फॉरेस्ट लूप की वर्तमान पुनरावृत्ति का प्रतिनिधित्व करने वाला मान प्राप्त करने के लिए?
उदाहरण के लिए, मैं वर्तमान में परिस्थितियों के आधार पर ऐसा कुछ करता हूं:
int i = 0;
foreach (Object o in collection)
{
// ...
i++;
}
foreachसभी संग्रहों के लिए एक सामान्य पुनरावृत्ति तंत्र प्रदान करना है, भले ही वे इंडेक्सेबल हों ( Listया नहीं Dictionary)।
Dictionaryयह अनुक्रमणीय नहीं होता है , तो इसका एक पुनरावृत्ति Dictionaryएक विशेष क्रम में इसे पार करता है (अर्थात एक एन्यूमर इस तथ्य से अनुक्रमित होता है कि यह तत्वों को क्रमिक रूप से प्राप्त करता है)। इस अर्थ में, हम कह सकते हैं कि हम संग्रह के भीतर सूचकांक की तलाश नहीं कर रहे हैं, बल्कि गणना के भीतर वर्तमान गणना तत्व के सूचकांक (यानी कि क्या हम पहले या पांचवें या अंतिम गणना किए गए तत्व पर हैं)।