בהמשך לטיפים הקודמים –
כמו במקרה של Equals, לפעמים אנחנו מעוניינים לבצע מיון לא לפי הפונקציה CompareTo של הממשק IComparable
לצורך פתרון זה, ניתן להשתמש בOverload של OrderBy שמקבל IComparer לפיו נבצע את ההשוואה.
לדוגמה (מהחיים האמיתיים), נניח שיש לנו רשימה של כתובות של תיקיות ואנחנו מעוניינים למיין אותם לפי רמת הקינון שלהם (כלומר שיופיעו קודם תיקיות אב, ורק אחר כך תיקיות בנות)
נוכל לעשות זאת בצורה הבאה:
נממש IComparer:
|
|
כעת נבצע מיון באמצעותו:
|
|
זהו, זה עשוי להתאים במקרים מסוימים.
המשך יום ממוין