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

标签 c# loops foreach

我有 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/

相关文章:

java - 数组中元素的总和

c# - 动态添加数据后 CheckBoxList ListItem Count 始终为 0

c# - 通过循环创建数组

c++ - 如何在 for_each 中使用 lambda?

php - 按组输出 - 也许是foreach?

java - 如何执行一个任务并每分钟返回一个数据

java - 遍历列表以将字符添加到 Java 中的字符串列表

c# - 存储过程的执行未运行

c# - 当我运行测试时,如何让单元测试复制我的 DLL 和其他文件?

c# - 生成服务器中的 Microsoft.Office.Interop.Excel 引用