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();
في المثال ده، بيتم ترتيب الطلاب حسب الاسم تصاعديًا، وبعدين يتم عكس الترتيب.
ملاحظات مهمة:
OrderBy
وOrderByDescending
بيبدأوا الترتيب.ThenBy
وThenByDescending
بيكملوا الترتيب حسب خصائص تانية.Reverse
مش بيديك ترتيب معين، بس بيعكس الموجود.
تعليقات
إرسال تعليق