Der folgende Code:'Ein Artikel mit demselben Schlüssel wurde bereits hinzugefügt.' - Welcher Schlüssel?
var rnd = new Random();
Enumerable.Range(1,20).Select(x => rnd.Next(10)).ToDictionary(x => x, x => "");
wird unweigerlich mit der folgenden Ausnahme fehlschlagen:
System.ArgumentException: 'Ein Element mit demselben Schlüssel wurde bereits hinzugefügt'
Gibt es eine Möglichkeit, die Visual Studio-IDE während des Debuggens zu verwenden, um den versuchten Schlüssel herauszufinden? Ist der Schlüssel irgendwo in den Ausnahmedetails gespeichert - vielleicht ein internes/privates Feld; Welche kann mit Ausnahmedetails Fenster gelesen werden?
Ich kann die Quelle von ToDictionary
nicht ändern, um den Schlüssel in der geworfenen Ausnahme einzuschließen.
Hinweis: Ich bin mir bewusst, dass ich dies in einer debuggable Mode schreiben kann, mit einer For Each
Schleife anstelle von LINQ. Aber ich frage nach dem allgemeinen Fall - wenn diese Ausnahme ausgelöst wird und der Quellcode nicht unter meiner Kontrolle ist, gibt es eine Möglichkeit, auf den Schlüssel zuzugreifen?
Verwendung der VS 2017 Community Edition.
[Es scheint möglich zu sein] (https://stackoverflow.com/a/44918884/111794), wenn .NET Framework Quelle Debuggen aktiviert. –
@ZevSpitz: Danke, wird bearbeitet. –