تخطَّ إلى المحتوى

[ ... ] Collection Expression

تعبيرات المجموعات (Collection Expressions) [ ... ] Collection Expression

صياغة موحّدة بالأقواس المربّعة لإنشاء مصفوفة أو List أو Span أو أي نوع مجموعة آخر، مع عنصر منتشر (..) لدمج مجموعات موجودة.

بدل صياغة مختلفة لكل نوع مجموعة (new int[] {} مقابل new List<string> {})، تعمل الأقواس المربّعة [ ] مع كل الأنواع الشائعة: المصفوفات، List<T>، Span<T>، وأي نوع يدعم التهيئة كمجموعة.

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

الصياغة

Type[] arr = [item1, item2];
List<Type> list = [item1, item2];
Type[] merged = [.. collectionA, .. collectionB];

📄 مثال

int[] first = [1, 2, 3];
int[] second = [4, 5, 6];

int[] combined = [.. first, .. second];
Console.WriteLine(string.Join(",", combined));   // 1,2,3,4,5,6

أهم النقاط

العنصرالوظيفة
[item1, item2]ينشئ مصفوفة أو List أو Span حسب نوع المتغيّر الهدف
.. exprالعنصر المنتشر: يفكّك مجموعة موجودة داخل التعبير
[[1,2],[3,4]]مصفوفة مسنّنة (jagged) بسطر واحد

💡 نصائح عملية

  • مرّرها مباشرة كوسيط لدالة تقبل مجموعة: Process([1, 2, 3]) بدل إنشاء متغيّر منفصل

⚠️ أخطاء شائعة

  • الخلط بين تعبير المجموعة [ ] والمصفوفة متعدّدة الأبعاد الحقيقية (Type[,]) — تعبير المجموعة يُنتج مصفوفة مسنّنة (jagged)، لا multidimensional

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار CSHARP الكامل بالعربي.