Ngoại lệ này được đưa ra khi bạn cố gắng lập chỉ mục đến một thứ gì đó không có ở đó, ví dụ:
Dictionary<String, String> test = new Dictionary<String,String>();
test.Add("Key1,"Value1");
string error = test["Key2"];
Thông thường, một cái gì đó giống như một đồ vật sẽ là chìa khóa, điều này chắc chắn khiến nó khó lấy hơn. Tuy nhiên, bạn luôn có thể viết như sau (hoặc thậm chí gói gọn trong một phương thức mở rộng):
if (test.ContainsKey(myKey))
return test[myKey];
else
throw new Exception(String.Format("Key {0} was not found", myKey));
Hoặc hiệu quả hơn (nhờ @ScottChamberlain)
T retValue;
if (test.TryGetValue(myKey, out retValue))
return retValue;
else
throw new Exception(String.Format("Key {0} was not found", myKey));
Microsoft đã chọn không làm điều này, có lẽ vì nó sẽ vô dụng khi được sử dụng trên hầu hết các đối tượng. Nó đủ đơn giản để tự làm, vì vậy chỉ cần cuộn của riêng bạn!