Avatar ·

كيفية الحصول على فهرس التكرار الحالي في حلقة foreach في C#؟

مرحباً بالجميع! أنا بدأت للتو في تعلم 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++; } ``` هذا يعمل، لكنه يبدو حلاً غير أنيق. هل هناك طريقة أكثر أناقة؟ على سبيل المثال، بعض