16. Dictionary.TryGetValue

הרבה פעמים אנחנו כותבים את הקוד הבא:

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.

שיהיה שבוע טוב

שתף