عملگرهای مرتبسازی ThenBy و ThenByDescending
متدهای افزودنی ThenBy و ThenByDescending به منظور مرتبسازی یک مجموعه بر اساس چندین فیلد استفاده می شوند. در بخش قبلی گفتیم که از متد OrderBy برای مرتبسازی مجموعه به صورت صعودی استفاده می شود. با اضافه کردن متد ThenBy بعد از OrderBy می توانیم مجموعه را بر اساس فیلد دیگری نیز مرتب کنیم. LINQ اول مجموعه را بر اساس فیلد اصلی که توسط OrderBy مشخص شده مرتب می کند و سپس بر اساس فیلدی که توسط ThenBy مشخص شده مرتب می شود. متد ThenByDescending هم مشابه ThenBy است با این تفاوت که به صورت نزولی مرتب می کند.
مثال زیر نحوه استفاده از این دو متد افزونی مربوط به LINQ را نشان می دهد:
1 2 3 4 5 6 7 8 9 10 | IList<Student> studentList = new List<Student>() { new Student() { StudentID = 1, StudentName = "John", Age = 18 } , new Student() { StudentID = 2, StudentName = "Steve", Age = 15 } , new Student() { StudentID = 3, StudentName = "Bill", Age = 25 } , new Student() { StudentID = 4, StudentName = "Ram" , Age = 20 } , new Student() { StudentID = 5, StudentName = "Ron" , Age = 19 }, new Student() { StudentID = 6, StudentName = "Ram" , Age = 18 } }; var thenByResult = studentList.OrderBy(s => s.StudentName).ThenBy(s => s.Age); var thenByDescResult = studentList.OrderBy(s => s.StudentName).ThenByDescending(s => s.Age); |
همانطور که مشاهده میکنید در کد فوق ابتدا مجموعه توسط اسم دانش آموزان مرتب می شود و سپس آن هایی که نام مشابه دارند، توسط سن مرتب می شوند. خروجی :
1 2 3 4 5 6 | StudentName: Bill, Age: 25 StudentName: John, Age: 18 StudentName: Ram, Age: 18 StudentName: Ram, Age: 20 StudentName: Ron, Age: 19 StudentName: Steve, Age: 15 |
هیچ نظری ثبت نشده است