0Pricing
C# Academy · درس

صيغة تعبيرات المجموعات

هيّئوا المصفوفات والقوائم وspans بصيغة موحّدة

صيغة تعبيرات المجموعات درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 4 دروس في المجموع.

تعبيرات المجموعات (C# 12)

تقدم C# 12 تعبيرات المجموعات، وهي صياغة واحدة باستخدام الأقواس المعقوفة لإنشاء المصفوفات والقوائم والامتدادات وغيرها. فبدلًا من new int[] { 1, 2, 3 }، تكتبون ببساطة [1, 2, 3].

using System;

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

صياغة واحدة ووجهات متعددة

تعمل القيمة الحرفية نفسها [...] سواء كانت الوجهة مصفوفة أو List<T> أو Span<T>. ويختار المترجم طريقة الإنشاء المناسبة.

using System;
using System.Collections.Generic;

int[] arr = [1, 2, 3];
List<int> list = [4, 5, 6];
Span<int> span = [7, 8, 9];
Console.WriteLine(arr.Length + " " + list.Count + " " + span.Length);

المجموعات الفارغة

تعبير المجموعة الفارغ هو ببساطة []. وهو أوضح من Array.Empty<T>() أو new List<T>()، كما يحدد نوعه الهدف تلقائيًا.

using System;
using System.Collections.Generic;

int[] empty = [];
List<string> names = [];
Console.WriteLine(empty.Length + " " + names.Count); // 0 0

استبدال أدوات التهيئة المطولة

تزيل تعبيرات المجموعات التعقيد الشكلي لصيغة التهيئة القديمة. قارن بين الصيغتين أدناه.

using System;
using System.Collections.Generic;

// old
List<int> oldWay = new List<int> { 1, 2, 3 };
// new
List<int> newWay = [1, 2, 3];
Console.WriteLine(oldWay.Count == newWay.Count); // True

المجموعات المتداخلة

يمكنك تداخل تعبيرات المجموعات لإنشاء مصفوفات متعرجة أو قوائم من القوائم.

using System;

int[][] grid = [[1, 2], [3, 4], [5, 6]];
Console.WriteLine(grid[1][0]); // 3

التعبيرات كعناصر

يمكن أن تكون العناصر أي تعبير، بما في ذلك المتغيرات واستدعاءات الأساليب والعمليات الحسابية.

using System;

int x = 10;
int[] values = [x, x * 2, x + 5, Math.Abs(-3)];
Console.WriteLine(string.Join(",", values)); // 10,20,15,3

ملاحظة حول الأبعاد المتعددة

تنشئ تعبيرات المجموعات مصفوفات متعرجة (int[][])، وليس مصفوفات مستطيلة (int[,]). ولا تزال المصفوفات المستطيلة تستخدم صيغتها الخاصة.

using System;

int[][] jagged = [[1, 2, 3], [4, 5]];
Console.WriteLine(jagged[0].Length + " " + jagged[1].Length); // 3 2

التعامل مع Span

نظرًا إلى أن تعبيرات المجموعات يمكن أن تستهدف Span<T> وReadOnlySpan<T>، فقد يستخدم المترجم تخصيصًا على المكدس، متجنبًا إنشاء بيانات مهملة في الكومة للبيانات قصيرة العمر.

using System;

ReadOnlySpan<int> stackData = [1, 2, 3, 4];
int total = 0;
foreach (int n in stackData) total += n;
Console.WriteLine(total); // 10

تمرير المجموعات إلى الأساليب

عندما يكون نوع المعامل مجموعة، يمكنك تمرير تعبير مجموعة مباشرةً عند موضع استدعاء الأسلوب.

using System;

static int Sum(int[] xs) {
    int t = 0;
    foreach (int x in xs) t += x;
    return t;
}

Console.WriteLine(Sum([2, 4, 6])); // 12

مكاسب سهولة القراءة

تتألق تعبيرات المجموعات في الشيفرة التي تتعامل مع كميات كبيرة من البيانات، مثل جداول الإعداد أو بيانات الاختبار، إذ تُبقي الأقواس التركيز على القيم.

using System;

string[] days = ["Mon", "Tue", "Wed", "Thu", "Fri"];
Console.WriteLine(days[^1]); // Fri

إرجاع المجموعات

يمكن للأسلوب إرجاع تعبير مجموعة، إذ يوجّه نوع الإرجاع عملية الإنشاء.

using System;

static int[] Primes() => [2, 3, 5, 7, 11];

Console.WriteLine(string.Join(",", Primes())); // 2,3,5,7,11

تحقق سريع

تحقق من فهمك لأساسيات تعبيرات المجموعات.

مراجعة

لقد تعلمت صيغة تعبيرات المجموعات في C# 12.

  • [1, 2, 3] تحل محل أدوات التهيئة المطولة.
  • [] مجموعة فارغة.
  • إنها تحدد نوعها اعتمادًا على السياق: وتعمل مع المصفوفات والقوائم وSpan.
  • تنشئ الأقواس المتداخلة مصفوفات متعرجة.

الأسئلة الشائعة

هل درس «صيغة تعبيرات المجموعات» مجاني؟

نعم — نص درس «صيغة تعبيرات المجموعات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 4 دروس في المجموع.

ماذا ستتعلم في «صيغة تعبيرات المجموعات»؟

هيّئوا المصفوفات والقوائم وspans بصيغة موحّدة تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟

لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «صيغة تعبيرات المجموعات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟

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

جميع الدروس في هذه الدورة

  1. صيغة تعبيرات المجموعات
  2. عنصر النشر
  3. تحديد نوع المجموعات وفقًا للهدف
  4. منشئو المجموعات
← العودة إلى C# Academy