Diese Ausnahme wird ausgelöst, wenn Sie versuchen, auf etwas zu indizieren, das nicht vorhanden ist. Beispiel:
Dictionary<String, String> test = new Dictionary<String,String>();
test.Add("Key1,"Value1");
string error = test["Key2"];
Oft ist so etwas wie ein Objekt der Schlüssel, was es zweifellos schwieriger macht, es zu bekommen. Sie können jedoch immer Folgendes schreiben (oder es sogar in eine Erweiterungsmethode einschließen):
if (test.ContainsKey(myKey))
return test[myKey];
else
throw new Exception(String.Format("Key {0} was not found", myKey));
Oder effizienter (dank @ScottChamberlain)
T retValue;
if (test.TryGetValue(myKey, out retValue))
return retValue;
else
throw new Exception(String.Format("Key {0} was not found", myKey));
Microsoft hat dies nicht getan, wahrscheinlich weil es bei den meisten Objekten nutzlos wäre. Es ist einfach genug, um es selbst zu tun, also rollen Sie einfach Ihre eigenen!