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())
{
}
Какие варианты были бы лучше, и как я могу добиться этого элегантно?