Возможный дубликат:
Получение нечетной/четной части последовательности с LINQ
Как я могу получить каждый n-й элемент из списка <T> ?
Я использую HtmlAgilityPack и С# для анализа некоторого 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, либо просто использую его inline в функции foreach.
Например:
//Copying resulting set to new IEnumerable<T>:
var odds = elements.SelectOdds();
//Using it inline for my usage:
foreach (var x in elements.SelectOdds())
{
}
Какие варианты были бы лучше, и как я могу достичь этого элегантно?