[ ... ] 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 الكامل بالعربي.