בהמשך לשבוע השווה,
נניח שאנחנו מעוניינים בIEqualityComparer שמשווה stringים עם אפשרות להתעלם מcase sensitive או אפשרויות אחרות.
מסתבר שיש כבר מימושים כאלה בFramework, והם יותר טובים מזה שרשמתי בראשון. המימושים משתמשים במחלקה StringComparer.
נוכל להשתמש בהם בצורה הבאה: גישה לאחד מהComparerים הסטטיים הבאים:
|
|
או: שימוש בפונקציה
|
|
המקבלת CultureInfo והאם להתעלם מcase sensitive.
כך נוכל לדוגמה ממש את הדוגמה של אתמול בצורה הבאה:
|
|
היתרון במימוש הזה כאמור, הוא שהוא לא יוצר אובייקט חדש עבור כל גישה לDictionary. (מי שרוצה מוזמן לבדוק בReflector)
המשך יום שווה