Trong another SO question, Tôi đã thấy một số người khuyên tôi luôn sử dụng TryGetValue.Tôi có nên luôn sử dụng TryGetValue để truy cập từ điển .net không?
Trong khi tôi luôn sử dụng TryGetValue trên mẫu Chứa/Truy cập, tôi tránh mẫu này khi có ý định khi tôi mong đợi khóa luôn nằm trong từ điển. Sau đó tôi truy cập trực tiếp vào trình lập chỉ mục, do đó, một ngoại lệ được nêu ra nếu khóa không có ở đó, vì có điều gì đó không mong muốn thực sự xảy ra (tức là khóa không có trong từ điển trong khi tôi mong đợi nó).
Vì dường như có sự đồng thuận chung chống lại "thực hành tốt nhất" của tôi (3 trong số 4 người trên bài đăng mà tôi đã đề cập một cách rõ ràng nên sử dụng TryGetValue mọi lúc), tôi rất sẵn sàng đọc một cuộc thảo luận mở rộng về chủ đề đó ...
Bạn có thể thêm khóa thực vào thông báo ngoại lệ nếu bạn thực hiện TryGetValue/throw, đây là điều mà KeyNotFoundException mặc định không thực hiện được (trừ khi tôi thiếu một thứ gì đó). – Skizz