C# में foreach लूप की वर्तमान पुनरावृत्ति का इंडेक्स कैसे प्राप्त करें?
सभी को नमस्कार! मैं अभी C# सीखना शुरू कर रहा हूँ और मुझे एक समस्या का सामना करना पड़ा: मुझे न केवल कलेक्शन के तत्वों को पुनरावृत्त करना है, बल्कि पुनरावृत्ति के दौरान प्रत्येक तत्व का क्रमांक भी जानना है। उदाहरण के लिए, मेरे पास स्ट्रिंग्स की एक सूची है:
```csharp
List fruits = new List { "सेब", "केला", "संतरा", "नाशपाती" };
```
मैं प्रत्येक फल को उसके इंडेक्स के साथ इस प्रकार प्रदर्शित करना चाहता हूँ:
```
0: सेब
1: केला
2: संतरा
3: नाशपाती
```
स्पष्ट रूप से, `for` लूप इस कार्य के लिए उपयुक्त है:
```csharp
for (int i = 0; i < fruits.Count; i++)
{
Console.WriteLine($"{i}: {fruits[i]}");
}
```
लेकिन मुझे विशेष रूप से `foreach` में रुचि है। मैंने सुना है कि `foreach` पढ़ने में सरल और सुरक्षित है, लेकिन इसमें कोई अंतर्निहित काउंटर वेरिएबल नहीं है। मैंने ऐसा करने की कोशिश की:
```csharp
int index = 0;
foreach (var fruit in fruits)
{
Console.WriteLine($"{index}: {fruit}");
index++;
}
```
यह काम करता है, लेकिन यह एक हैक जैसा लगता है। क्या कोई और अधिक सुरुचिपूर्ण तरीका है? उदाहरण के लिए, कोई LINQ विधि या लूप का कोई गुण?