Niedawno zauważyłem Dictionary.TryGetValue(TKey key, out TValue value)
i byłem ciekawy, które jest lepsze podejście do pobierania wartości ze słownika.
Tradycyjnie robiłem:
if (myDict.Contains(someKey))
someVal = myDict[someKey];
...
chyba że wiem, że musi tam być.
Czy lepiej po prostu zrobić:
if (myDict.TryGetValue(somekey, out someVal)
...
Która praktyka jest lepsza? Czy jeden jest szybszy od drugiego? Wyobrażam sobie, że wersja Try byłaby wolniejsza, ponieważ „połyka” próbę / haczyk wewnątrz siebie i używa jej jako logiki, nie?