another SO question, TryGetValueを常に使用するように勧められている人もいます。TryGetValueを使用して.net辞書にアクセスする必要がありますか?
私は常にContains?/ AccessパターンにTryGetValueを使用していますが、キーが常に辞書に存在すると想定しているので、意図的にこのパターンを避けています。直接インデクサーにアクセスして、予期しない何かが実際に起こった(キーが予想通りに辞書にない)ため、キーがないと例外が発生します。
「ベストプラクティス」(私はTryGetValueを常時使用することをアドバイスした投稿の4人のうち3人)に対して一般的なコンセンサスがあるようですので、私はそのトピック...
TryGetValue/throwを実行すると、例外メッセージに実際のキーを追加できます。これは、デフォルトのKeyNotFoundExceptionが(何かが欠けていない限り)実行できないものです。 – Skizz