903 B
903 B
List<T>.ForEach can throw exception when modifying list item
Scope
Edge
Version Introduced
4.5
Source Analyzer Status
Available
Change Description
Beginning in .NET 4.5, a List<T>.ForEach
enumerator will throw an InvalidOperationException exception if an element in the calling collection is modified. Previously, this would not throw an exception but could lead to race conditions.
- Quirked
- Build-time break
Recommended Action
Ideally, code should be fixed to not modify lists while enumerating their elements because that is never a safe operation. To revert to the previous behavior, though, an app may target .NET 4.0.
Affected APIs
M:System.Collections.Generic.List`1.ForEach(System.Action{`0})
Category
Core