נוב' 05
באמצעות המתודה Sort אשר מוגדרת במחלקה Array ניתן למיין מערכים, לרבות מערכים של אובייקטים. כדי למיין באמצעות מתודה זו מערך של אובייקטים, יש להגדיר את המחלקה שממנה האובייקטים נוצרים כמחלקה שיורשת מ-IComparable. ב-interface זה מוגדרת מתודה אחת בלבד ששמה CompareTo. וידאו קליפ זה מסביר כיצד לעשות זאת.




10 בנובמבר, 2009 בשעה 6:07
מה ההבדלים בין IComparer ובין IComparable מבחינת השימוש? מתי כדאי להשתמש בכל אחד מהם?
10 בנובמבר, 2009 בשעה 7:53
אני ממליץ להימנע מקביעת כללים. יש להפעיל שיקול דעת בכל מקרה ומקרה בנפרד. עם זאת, במקרים שבהם יש צורך במיונים חוזרים ונשנים.. כל פעם על פי קריטריון אחר.. במקרים כאלה סביר יותר שנשתמש ב-IComparer. אופן השימוש ב-IComparer שונה מאופן השימוש ב-IComparable. כאשר עובדים עם ICompararer אנו מגדירים מחלקה שיורשת מה-interface הזה ומגדירים בה את המתודה Compare אשר מקבלת את שני ה-references לשני האובייקטים שיש להשוות… שוב ושוב… כל פעם שני אובייקטים אחרים… תוך כדי תהליך המיון. אני מציע לעבור על דוגמאות קיימות ב-msdn ואם יש צורך אז אני אכין וידאו קליפ אשר מסביר את אופן השימוש ב-IComparer.