我有 2 个 foreach 循环,1 个嵌套在另一个循环中。共有 2 个集合中的 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}");
    }
}

最佳答案

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

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

关于c# - 嵌套的 Foreach 循环运行次数过多 - C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45281316/

10-17 01:04