嵌套的Foreach循环运行次数太多 - C#

Rod*_*son 3 c# foreach loops

我有2个foreach循环,1个嵌套在另一个循环中.共有115个项目共有115个.我想要做的是将第一个集合中的第一个项目写入控制台,然后将第二个集合中的第一个项目写入控制台.返回第一个集合并执行第二个项目,依此类推.

我理解为什么嵌套循环一遍又一遍地运行,我只是无法弄清楚如何实现我想要实现的目标.

var Titles = chromeDriver.FindElements(By.CssSelector("div.contentItem__contentWrapper h1"));
var Text = chromeDriver.FindElements(By.CssSelector("div.contentItem__contentWrapper p"));        

foreach (var title in Titles)
{
    string t = title.Text;
    Console.WriteLine($"Title: {t}");
    foreach (var text in Text)
    {
        string p = text.Text;
        Console.WriteLine($"Article Text: {p}");
    }
}
Run Code Online (Sandbox Code Playgroud)

Rom*_*mbé 5

您需要知道当前正在使用第一个集合中的哪个项目.这是通过使用for循环最简单的方法.然后,您可以从第二个集合中访问正确的项目:

for(int i = 0; i < Titles.Count; i++)
{
   Console.WriteLine($"Title: {Titles[i].Text}");
   Console.WriteLine($"Article Text: {Text[i].Text}");
}
Run Code Online (Sandbox Code Playgroud)


Ada*_*m V 5

你应该把它作为一个循环并遍历两个集合.

for (var x = 0; x < Math.Max(Titles.Count, Text.Count); x++)
{
  if (Titles.Count > x)
  {
    Console.WriteLine($"Title: {Titles[x].Text}");
  }
  if (Text.Count > x)
  {
    Console.WriteLine($"Article Text: {Text[x].Text}");
  }
}
Run Code Online (Sandbox Code Playgroud)