Enumerable не означает, что существует базовая коллекция, поэтому вы не можете знать, есть ли что-то для удаления или нет. Если является базовой коллекцией, вы не знаете, поддерживает ли она операцию удаления.
Вот пример метода, который перечисляет нечетные числа. Если бы вы могли «удалить» 7 из перечислимого, что бы произошло? Откуда оно будет удалено?
public IEnumerable<int> GetOddPositiveNumbers()
{
int i = 0;
while (true)
{
yield return 2*(i++)+1;
}
}
То, что вы можете искать, это Where
и Except
, которые позволяют фильтровать перечислимое.