Czy foreach ocenia tablicę przy każdej iteracji?

Chcę stworzyćforeach który pomija pierwszy element. Widziałem gdzie indziej, że najłatwiej jest to zrobićmyCollection.Skip(1), ale mam pytanie:

Dokumentacja MSDN jest włączona.Skip() opisuje, że „Pomija określoną liczbę elementów w sekwencji, a następnie zwraca pozostałe elementy”. Czy to oznacza wezwanie do

foreach(object i in myCollection.Skip(1))
{ ... }

Czy program musiałby działać.Skip(1) za każdym razemforeach iteruje? Albo takforeach (trochę jak aswitch) nie wymaga wielokrotnych ocen tablicy?

Czy bardziej efektywne byłoby utworzenie manekinavar _dummy = myCollection.Skip(1) i zamiast tego iterować?

questionAnswers(5)

yourAnswerToTheQuestion