Right now, I can't think of anything, but using LINQ, you can easily create one IEnumerable<T>that is part of your collection.
As I understand it, the way C # is to see part of the collection as the collection itself and make your methodwork on this sequence. This idea allows the method to be unaware of whether it works on the entire collection or part of it.
Examples:
void method(IEnumerable<T> collection)
{ ... }
method(original.Skip(1).Take(4));
method(original.Where(x => x % 2 == 0));
method(original.TakeWhile(x => x != 0));
method(original);
and etc.
Compare this with C ++:
// from 2-nd to 5-th item:
method(original.begin() + 1, original.begin() + 5);
// everything
method(original.begin(), original.end());
// other two cannot be coded in this style in C++
++ , , . # IEnumerable . - .