C# 使用foreach循环进行多个

C# 使用foreach循环进行多个,c#,html-agility-pack,C#,Html Agility Pack,我一直在制作一个小的控制台应用程序,可以在网站上查找畅销书。 我已经创建了两个HtmlNodeCollection变量 public void setup() { try { HtmlDocument doc = _web.Load(_url); Console.WriteLine("beginning " + _url); HtmlNodeCollectio

我一直在制作一个小的控制台应用程序,可以在网站上查找畅销书。 我已经创建了两个HtmlNodeCollection变量

        public void setup()
        {
        try
        {
            HtmlDocument doc = _web.Load(_url);
            Console.WriteLine("beginning " + _url);

            HtmlNodeCollection node = doc.DocumentNode.SelectNodes("//*[@id='b7907c3f23606bda85d1bf4da658198da2d954d3-carousel']/div/div/div/div/div/div/h5/a");
            HtmlNodeCollection price = doc.DocumentNode.SelectNodes("//*[@class='price-info']/p");
            if (node != null)
            {
                foreach (var item in node)
                {
                    Console.WriteLine(item.InnerText);
                }
            }
            Console.ReadLine();
        }
        catch (Exception e)
        {
            Console.WriteLine("There has been and exception thrown in setup " + e);
        }
    }

foreach循环工作正常,但我不确定如何通过price循环。可以在foreach循环上使用运算符吗?如果没有,是否有一种方法可以循环通过它们?感谢您提供的任何帮助

我假设您希望浏览两个长度相同的集合,并将项目配对。Enumerable.Zip执行以下操作:

nodes.Zip(prices, (n, p) => new { n, p });
请注意,如果集合未对齐,您将自动得到错误的结果。您最好在循环之前断言一切正常:

Debug.Assert(nodes.Count == prices.Count);

您能举一个XML的例子吗?可能有一种更简单的方法。