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ć?