gpt4 book ai didi

c# - ForEach 循环从 List/Collection 的中间/任意位置开始,然后遍历到所有项目

转载 作者:太空宇宙 更新时间:2023-11-03 20:57:18 24 4
gpt4 key购买 nike

我需要从多级 TreeView 中的当前选定项目搜索列表中的内容。我的 TreeView 中有 4 个级别,并在第 4 个级别上搜索符合某些条件的节点。请看下图: enter image description here

现在在此图像中,我正在搜索其中有 1 个(失败的一个)的红色 block 。下面是我要搜索的代码:

foreach (var Project in Projects)
{
foreach (var Devices in Project.TestRuns)
{
foreach (var Category in Devices.TestModuleCategories)
{
foreach (var TestModule in Category.TestModules)
{
foreach (var statement in TestModule.TestModuleStatementList)
{
if (statement.TestsFailed == 1 && !statement.IsSearched)
{
TestModule.TestModuleStatementList.ForEach(f => { f.IsCurrentFocused = false; });
statement.IsCurrentFocused = true;
statement.IsSearched = true;
TreeViewItem item = GetTreeViewItem(ViewTestDataTree, statement);
item.IsExpanded = true;
//ViewTestData.SetSelectedItem(ref ViewTestDataTree, item);
//item.Focus();
return;
}
statement.IsCurrentFocused = false;
}

}
}
}
}

Projects.ForEach(a => a.TestRuns.ForEach(b => b.TestModuleCategories.ForEach(c => c.TestModules.ForEach(d => d.TestModuleStatementList.ForEach(f => { f.IsSearched = false; })))));

现在的问题是我每次在搜索时都在运行 foreach 循环,但我希望如果用户在列表的中间任何地方,那么搜索应该从那里开始到列表的最后一个,并且还应该从顶部开始剩余的列表。有没有什么机制可以从集合的任何地方开始,从下到上搜索所有节点?

最佳答案

For each 循环不提供按索引访问(它只保存指向当前项和集合中下一项的指针),因此每次都会从头开始。

关于c# - ForEach 循环从 List/Collection 的中间/任意位置开始,然后遍历到所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49148907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com