Seleccione los elementos pares / impares en IEnumerable <T>? [duplicar]

Posible duplicado:
Obtener parte par / impar de una secuencia con LINQ
¿Cómo puedo obtener cada elemento n de una lista <T>?

Estoy usando HtmlAgilityPack y C # para analizar 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>

Básicamente, tengo estos elementos, cada uno en su propio objeto, dentro de un IEnumerable.

¿Hay una manera elegante de obtener cada elemento N / 2 en la colección. Es decir, saltar sobre cada div con clase.ruler?

Necesitaría recorrer el conjunto resultante, así que copio cada objeto encontrado en un nuevo IEnumerable o simplemente lo uso en línea en una función foreach.

Por ejemplo:

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

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

¿Qué opciones serían las mejores y cómo puedo lograr esto con elegancia?