Selecione elementos par / ímpar em IEnumerable <T>? [duplicado]

Duplicata Possível:
Ficando estranho / até mesmo parte de uma seqüência com LINQ
Como posso obter todos os itens de uma List <T>?

Estou usando o HtmlAgilityPack e o C # para analisar algum 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>

Basicamente, eu tenho esses elementos, cada um em seu próprio objeto, dentro de um IEnumerable.

Existe uma maneira elegante de obter cada elemento N / 2 na coleção. Significado, pule sobre cada div com classe.ruler?

Eu precisaria fazer uma iteração no conjunto resultante, então copio cada objeto encontrado em um novo IEnumerable ou apenas o uso inline em uma função foreach.

Por exemplo:

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

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

Quais opções seriam melhores e como posso conseguir isso com elegância?