diff --git a/src/libraries/Common/src/System/Runtime/InteropServices/ComEventsMethod.cs b/src/libraries/Common/src/System/Runtime/InteropServices/ComEventsMethod.cs index 5cef837b927c73..f02f0c6fa04be6 100644 --- a/src/libraries/Common/src/System/Runtime/InteropServices/ComEventsMethod.cs +++ b/src/libraries/Common/src/System/Runtime/InteropServices/ComEventsMethod.cs @@ -204,9 +204,7 @@ public void RemoveDelegates(Func condition) do { wrappers = _delegateWrappers; - List tmp = new(wrappers); - tmp.RemoveAll(w => condition(w.Delegate)); - newWrappers = tmp.ToArray(); + newWrappers = Array.FindAll(wrappers, w => !condition(w.Delegate)); } while (!PublishNewWrappers(newWrappers, wrappers)); }