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?