Here’s an example:
static int Main(string[] args)
{
foreach(string arg in args.Skip(77))
{
Console.WriteLine(arg);
}
return 0;
}
Assuming enough args, does this call MoveNext 77 times inside Skip? Or does Skip jump straight to the appropriate index?
Embarrassingly, I was wrong.
No.
Jon Skeet explains why it can’t do that.