Ich denke über die Verwendung einer ConcurrentBag in einem Programm, das ich schreibe, aber ich kann nicht genug Dokumentation auf TryTake finden.Unter welchen Umständen kann ConcurrentBag.TryTake() fehlschlagen?
Ich verstehe, dass die Methode fehlschlagen kann, aber ich kann keine Erklärung für die Fälle finden, in denen ein solcher Fehler auftreten könnte, und in welchem Zustand die Sammlung nach dem Fehler verbleibt.
Wenn es nur im Fall eines anderen Threads ist, der das Element bereits entfernt hat, ist es mir egal, aber was ich mir nicht wirklich leisten kann, ist das Element, das ich entfernen möchte, um nach dem Anruf noch in der Sammlung zu sein.
Kann dies jemals der Fall sein?
Einige Code (das fehlschlägt) und Details der Ausnahme, die Sie bekommen, würden helfen! – decyclone
@decyclone, er hat keinen Code, der fehlschlägt, er fragt, unter welchen Bedingungen die TryTake-Methode fehlschlagen könnte und wie der Zustand der Sammlung nach dem Fehler sein würde. –