Bindable LINQ: Snapshot Enumerators

Snapshot enumerators are part of Bindable LINQ’s internal implementation which make editing collections while enumerating them possible. When you first started with .NET, you undoubtedly wrote code that looks like this:

foreach (string item in strings)
{
if (item.StartsWith(”H”))
{
strings.Remove(item);
[…]