Выбрать четные / нечетные элементы в IEnumerable <T>? [Дубликат]

Possible Duplicate:
Getting odd/even part of a sequence with LINQ
How can I get every nth item from a List<T>?

Я использую HtmlAgilityPack и C # для анализа HTML.

<div id="post-8266">
<div class="ruler"> </div>
<div id="post-8266">
<div class="ruler"> </div>
<div id="post-8266">
<div class="ruler"> </div>
<div id="post-8266">
<div class="ruler"> </div>

По сути, у меня есть эти элементы, каждый в своем собственном объекте, внутри IEnumerable.

Есть ли элегантный способ получить каждый элемент N / 2 в коллекции. Смысл, пропустить каждый div с классом.ruler?

Мне нужно было бы перебрать полученный набор, так что я либо копирую каждый найденный объект в новый IEnumerable, либо просто использую его встроенный в функции foreach.

Например:

//Copying resulting set to new IEnumerable<T>:
var odds = elements.SelectOdds();

//Using it inline for my usage:
foreach (var x in elements.SelectOdds())
{   
}

Какие варианты будут лучше, и как я могу добиться этого элегантно?

Ответы на вопрос(2)

Ваш ответ на вопрос