البرمجة وتطوير البرمجيات

C# 15 تضيف فهارس امتدادية وتحسينات للتعابير التجميعية في المعاينة

استعرضت Microsoft في مدونة .NET مجموعة من الميزات المتاحة في المعاينة الأولى لـ C# 15، التي ستأتي مع .NET 11، ومنها تمرير معاملات إلى منشئات المجموعات، والفهارس الامتدادية، وتسميات حلقات التكرار. وتستهدف التغييرات تقليل الشيفرة الوسيطة وتحسين وضوح بعض الأنماط اليومية في البرمجة.

24 أغسطس 2026
3 دقائق قراءة
1 قراءة
فريق تحرير certi.news
C# 15 تضيف فهارس امتدادية وتحسينات للتعابير التجميعية في المعاينة

كشفت Microsoft عن ميزات جديدة متاحة في المعاينة لـ C# 15، الإصدار الذي سيأتي مع .NET 11. ويشمل التحديث أنواعاً اتحادية، وتسلسلات هرمية مغلقة، ومعاينة للنموذج المحدّث للتعامل مع الشيفرة غير الآمنة، إلى جانب تغييرات أصغر تهدف إلى تقليل الشيفرة الإجرائية المتكررة في الاستخدام اليومي.

معاملات داخل التعابير التجميعية

تستطيع التعابير التجميعية في C# تحويل القيم إلى أنواع متعددة من المجموعات، لكنها لم تكن تتيح سابقاً تمرير معاملات إلى المنشئ الأساسي أو إلى دالة الإنشاء. تضيف C# 15 عنصراً جديداً بصيغة with(...)، يوضع في بداية التعبير، لتمرير هذه المعاملات.

يسمح ذلك مثلاً بإنشاء قائمة مع تحديد السعة مباشرة داخل التعبير، أو إنشاء HashSet مع تمرير StringComparer.OrdinalIgnoreCase، بدلاً من فصل الإنشاء عن إضافة العناصر. وتذكر Microsoft أن هذه القدرة تمهّد لبناء صياغة تعابير القواميس المرتقبة، التي ستحتاج غالباً إلى تحديد أداة المقارنة المستخدمة للمفاتيح.

الوصول إلى العناصر عبر فهارس امتدادية

بعد أن أضافت C# 14 أعضاء امتدادية للخصائص والعوامل إلى جانب الأساليب، توسّع C# 15 هذا النموذج ليشمل الفهارس الامتدادية. وبذلك يمكن الوصول إلى عنصر من كائن مستقبل كما لو أن الفهرس معرّف أصلاً ضمن نوعه.

في المثال الذي تعرضه Microsoft، كان الوصول إلى عنصر في IEnumerable<int> يتطلب أسلوباً مساعداً مثل ElementAtIndex. أما الصياغة الجديدة فتسمح باستخدام numbers[2] عبر فهرس امتدادي مرتبط بالمستقبل. وتوضح المدونة أن الفهارس لا يمكن أن تكون ساكنة، لذلك يجب أن يتضمن حاوي الامتداد مستقبلاً مسمى.

تسميات لحلقات break وcontinue

تتيح C# 15 تسمية حلقات التكرار ثم توجيه break أو continue إليها مباشرة. يفيد ذلك في الحلقات المتداخلة، حيث كان الخروج من الحلقة الخارجية يتطلب عادةً متغيراً منطقياً، أو استخدام goto، أو نقل المنطق إلى دالة منفصلة.

عملياً، تجعل التسمية هدف الخروج واضحاً داخل الشيفرة وتلغي الحاجة إلى متغير لتتبع ما إذا كان العنصر المطلوب قد عُثر عليه. ويعرض المثال حلقة مسماة scan يمكن الخروج منها مباشرة باستخدام break scan.

ما الذي يتغير للمطورين؟

لا تقدم هذه الميزات تغييراً في نموذج تشغيل .NET بقدر ما تعيد تنظيم صياغة الشيفرة وتقلل بعض القوالب المتكررة. وتبرز قيمتها خصوصاً في المشاريع التي تستخدم التعابير التجميعية، أو تتعامل مع حلقات متداخلة، أو تحتاج إلى واجهات وصول أكثر اختصاراً للأنواع القابلة للتمديد.

لكن الميزات ما تزال ضمن المعاينة، ولذلك لا تمثل بعد واجهة نهائية مستقرة. تدعو Microsoft المطورين إلى تنزيل .NET 11 وتجربة C# 15 على تطبيقاتهم، مع الرجوع إلى المرجع الكامل لما هو جديد والمشاركة في النقاشات الجارية ضمن مشروع csharplang. ولا يحدد المصدر في هذه المادة موعداً نهائياً لتحويل الميزات إلى إصدار مستقر.

مصدر الخبر
كيف أعددنا هذا الخبر؟

اعتمد الخبر على المصدر الأصلي الموضح أعلاه. قد نستخدم أدوات آلية للمساعدة في الاستخراج والتصنيف والصياغة، لكن النشر يخضع لقواعد تمنع المحتوى المكرر والقصير أو الروتيني منخفض القيمة. اقرأ سياستنا التحريرية.

ف
كاتب المقال

فريق تحرير certi.news

فريق التحرير

فريق تحرير certi.news يتابع المصادر التقنية ويعيد بناء الأخبار بالعربية مع مراجعة الحقائق والسياق قبل النشر.

من نفس التصنيف

مقالات قد تهمك

عرض جميع المقالات