LINQ - Ordering Operators

Ordering Operators in LINQ


عوامل الترتيب في LINQ

عوامل الترتيب (Ordering Operators) تُستخدم لترتيب العناصر الموجودة داخل مجموعة بيانات بناءً على قيمة خاصية واحدة أو أكثر. LINQ يقدّم مجموعة من عوامل الترتيب مثل:

  • OrderBy
  • OrderByDescending
  • ThenBy
  • ThenByDescending
  • Reverse


OrderBy Operator in LINQ

عامل OrderBy في LINQ

يتم استخدام OrderBy لترتيب العناصر في تسلسل تصاعدي (Ascending Order).

مثال:


var result = studentList.OrderBy(s => s.Name);

في المثال ده، بيتم ترتيب قائمة الطلاب studentList بناءً على اسم الطالب Name بترتيب تصاعدي (من A إلى Z).



OrderByDescending Operator in LINQ

عامل OrderByDescending في LINQ

يتم استخدام OrderByDescending لترتيب العناصر في تسلسل تنازلي (Descending Order).


var result = studentList.OrderByDescending(s => s.Name);

هنا بيتم ترتيب الطلاب بناءً على الاسم بترتيب تنازلي (من Z إلى A).



ThenBy Operator in LINQ

عامل ThenBy في LINQ

ThenBy بيُستخدم بعد OrderBy لإضافة مستوى ثاني من الترتيب. يعني لو اتنين أو أكتر عندهم نفس القيمة في OrderBy، ThenBy يحدد الترتيب بينهم.


var result = studentList.OrderBy(s => s.Name).ThenBy(s => s.Age);

مثلاً، لو فيه طلاب بنفس الاسم، هيترتبوا حسب السن.



ThenByDescending Operator in LINQ

عامل ThenByDescending في LINQ

نفس فكرة ThenBy لكن بترتيب تنازلي.


var result = studentList.OrderBy(s => s.Name).ThenByDescending(s => s.Age);

هنا لو فيه طلاب بنفس الاسم، يتم ترتيبهم حسب السن من الأكبر للأصغر.



Reverse Operator in LINQ

عامل Reverse في LINQ

Reverse بيقلب الترتيب الحالي لأي تسلسل.

مهم: Reverse ما بيرتبش، هو بس بيعكس الترتيب الحالي.


var result = studentList.OrderBy(s => s.Name).Reverse();

في المثال ده، بيتم ترتيب الطلاب حسب الاسم تصاعديًا، وبعدين يتم عكس الترتيب.



ملاحظات مهمة:

  1. OrderBy و OrderByDescending بيبدأوا الترتيب.
  2. ThenBy و ThenByDescending بيكملوا الترتيب حسب خصائص تانية.
  3. Reverse مش بيديك ترتيب معين، بس بيعكس الموجود.

تعليقات

المشاركات الشائعة من هذه المدونة

C# - Arrays

Entity Framework - ما هو ORM؟ ونبذة عن Dapper وNHibernate

Entity Framework - مقدمة عن Entity Framework