0Pricing
C# Academy · درس

Select وWhere وOrderBy وTake/Skip

صفِّ باستخدام Where، وحوّل باستخدام Select، ورتّب باستخدام OrderBy/ThenBy، وقسّم الصفحات باستخدام Take/Skip. سلاسل بسيطة سهلة القراءة.

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

أدوار العوامل

الأدوار:

  • Where يرشّح
  • Select يحوّل
  • OrderBy/ThenBy يرتّبان
  • Take/Skip يجزّئان النتائج إلى صفحات

اجعل السلاسل قصيرة وسهلة القراءة.

الترشيح باستخدام Where

يُبقي Where على العناصر التي تحقق شرطاً (دالة شرطية).

using System;
using System.Linq;

public class Program
{
  public static void Main(string[] args)
  {
    int[] nums = new int[] { 1, 2, 3, 4, 5, 6 };

    var evens = nums.Where(n => n % 2 == 0);

    foreach (int n in evens)
    {
      Console.WriteLine(n); // 2 4 6
    }
  }
}

الإسقاط باستخدام Select

يحوّل Select كل عنصر إلى قيمة جديدة (إسقاط).

using System;
using System.Linq;

public class Program
{
  public static void Main(string[] args)
  {
    string[] words = new string[] { "cat", "lion", "tiger" };

    var lengths = words.Select(w => w.Length); // transform to lengths

    foreach (int len in lengths)
    {
      Console.WriteLine(len); // 3 4 5
    }
  }
}

ترتيب النتائج

استخدم OrderBy ثم ThenBy للترتيب باستخدام مفاتيح متعددة؛ وأضف Descending عند الحاجة.

using System;
using System.Linq;

public sealed class City
{
  public string Name;
  public int Population;
  public City(string name, int pop) { Name = name; Population = pop; }
}

public class Program
{
  public static void Main(string[] args)
  {
    City[] cities = new City[]
    {
      new City("Rome", 2873000),
      new City("Oslo", 634000),
      new City("Riga", 605000),
      new City("Rio", 6748000)
    };

    var sorted = cities
      .OrderBy(c => c.Name)             // primary
      .ThenByDescending(c => c.Population); // secondary

    foreach (City c in sorted)
    {
      Console.WriteLine(c.Name + " - " + c.Population);
    }
  }
}

تقسيم الصفحات باستخدام Take/Skip

يتجاوز Skip عدداً من العناصر، بينما يعيد Take عدداً محدداً منها. ويُستخدمان معاً لتنفيذ تقسيم الصفحات.

using System;
using System.Linq;

public class Program
{
  public static void ShowPage(int[] data, int page, int pageSize)
  {
    var pageItems = data
      .OrderBy(x => x)           // define a consistent order
      .Skip((page - 1) * pageSize)
      .Take(pageSize);

    Console.WriteLine("Page " + page + ":");
    foreach (int x in pageItems) Console.WriteLine(x);
  }

  public static void Main(string[] args)
  {
    int[] nums = new int[] { 9, 1, 5, 2, 7, 3, 8, 6, 4 };
    ShowPage(nums, 1, 3); // 1 2 3
    ShowPage(nums, 2, 3); // 4 5 6
  }
}

نصائح حول السلاسل

نصائح:

  • رشّح مبكراً باستخدام Where.
  • نفّذ الإسقاط متأخراً باستخدام Select (بعد الترشيح والترتيب).
  • استخدم OrderBy قبل Take/Skip للحصول على نتائج متوقعة.
  • اجعل كل خطوة صغيرة وسمِّها بوضوح.

اسم عامل الترشيح

تحقق سريع: أي عامل من LINQ يرشّح تسلسلاً باستخدام دالة شرطية؟

مراجعة

مراجعة: استخدم Where للترشيح، وSelect للإسقاط، وOrderBy/ThenBy للترتيب، وTake/Skip لتقسيم النتائج إلى صفحات. اجعل مسارات المعالجة صغيرة وسهلة القراءة.

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

هل درس «Select وWhere وOrderBy وTake/Skip» مجاني؟

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

ماذا ستتعلم في «Select وWhere وOrderBy وTake/Skip»؟

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

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

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

كم من الوقت يستغرق درس «Select وWhere وOrderBy وTake/Skip»؟

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

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

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

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

  1. مسارات IEnumerable والتنفيذ المؤجل
  2. Select وWhere وOrderBy وTake/Skip
  3. صياغة الاستعلام مقابل صياغة الأساليب
← العودة إلى C# Academy