Gerade / ungerade Elemente in IEnumerable <T> auswählen? [Duplikat]

Mögliche Duplikate:
Ungerader / gerader Teil einer Sequenz mit LINQ
Wie kann ich jeden n-ten Artikel aus einer Liste <T> erhalten?

Ich verwende HtmlAgilityPack und C # zum Parsen von 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>

Grundsätzlich habe ich diese Elemente, jedes in einem eigenen Objekt, innerhalb einer IEnumerable.

Gibt es eine elegante Möglichkeit, jedes N / 2-Element in die Sammlung aufzunehmen? Das heißt, überspringen Sie jede Div mit Klasse.ruler?

Ich müsste die Ergebnismenge durchlaufen, also kopiere ich entweder jedes gefundene Objekt in eine neue IEnumerable oder verwende es einfach inline in einer foreach-Funktion.

Zum Beispiel:

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

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

Welche Optionen wären am besten und wie kann ich dies elegant erreichen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage