הרבה פעמים אנחנו כותבים את הקוד הבא:
1 2 3 4 5 6 7 8 9 10
| IDictionary<int, string> myDictionary; if (myDictionary.ContainsKey(givenKey)) { return myDictionary[givenKey]; } else { return null; }
|
אלא שקוד זה בזבזני, כיוון שאנחנו מחפשים את המפתח פעמיים בDictionary (פעם ב ContainsKey ופעם שנייה בגישה לIndexer).
במקום זאת נוכל לכתוב את הקוד הבא
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| IDictionary<int, string> myDictionary; string requestedValue; bool wasKeyFound = myDictionary.TryGetValue(givenKey, out requestedValue); if (wasKeyFound) { return requestedValue; } else { return null; }
|
בקוד זה יש חיפוש יחיד של המפתח בDictionary, ע"י הפונקציה TryGetValue.
שיהיה שבוע טוב