YourGenericListOfInts.RemoveAll( new System. Predicate < int >( delegate ( int val) { return (val == r.Index); })); A predicate is a function that returns true or false and can be used for example to filter your results.. For example your .NET RemoveAll(...)