What is the best way to approach removing items from a collection in C#, once the item is known, but not it\'s index. This is one way to do it, but it seems inelegant at be
Save your items first, than delete them.
var itemsToDelete = Items.Where(x => !!!your condition!!!).ToArray(); for (int i = 0; i < itemsToDelete.Length; ++i) Items.Remove(itemsToDelete[i]);
You need to override GetHashCode() in your Item class.
GetHashCode()