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

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())
{   
}

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

14
задан Community 23 May 2017 в 12:14
поделиться