我正在使用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>
Run Code Online (Sandbox Code Playgroud)
基本上,我有这些元素,每个元素都在自己的对象中,在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())
{
}
Run Code Online (Sandbox Code Playgroud)
哪种选择最好,我怎样才能做到这一点?
这是我的问题的延续:如何在C#中使用Enumarable来反转一系列元素?
现在我只需要替代元素.这是我使用for循环的解决方案:
int Max = 10;
int limit = 5;
Dictionary<String , String> MyDict = new Dictionary<string,string>();
int j = 0;
for (int i = 0; i <Max; i++)
{
if (i >= limit)
MyDict.Add((i+1).ToString(), "None");
else
MyDict.Add((i+1).ToString(), j.ToString());
j+=2;
}
Run Code Online (Sandbox Code Playgroud)
输出就像
{ "1" "0"}
{ "2" "2"}
{ "3" "4"}
{ "4" "6"}
{ "5" "8"}
{ "6" "None"}
{ "7" "None"}
{ "8" "None"}
{ "9" "None"}
{ "10" "None"}
Run Code Online (Sandbox Code Playgroud)
如何使用Enumarerable或使用任何LINQ方法执行此操作.与前一个问题相反:如何在C#中使用Enumarable来反转一系列元素?