Если это исключительное поведение для ключа, который не существует в вашем словаре (как это звучит), то хорошо, если исключение возбуждается, если ключ не найден, и пусть это исключение распространяется вниз по стеку. , Если вы хотите использовать практику защитного программирования, вы можете использовать следующее, прежде чем получить доступ к словарному ключу:
Debug.Assert(Dictionary.ContainsKey(Key));
Вам действительно нужно использовать TryGetValue только в том случае, если вы ожидаете ситуаций, когда ключ может не существовать, или если вы хотите, чтобы определенный код выполнялся в случае, если ключ не существует.