You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用foreach循环遍历多个列表(单变量访问元素)

解决方案

你写的&&拼接列表的写法是错的,&&是布尔逻辑运算符,根本不能用来拼集合。元组是并行遍历三个列表,每次取三个列表各一个元素,自然要三个变量,不符合你要把三个列表所有元素挨个走一遍的需求。

最简洁写法:用LINQ的Concat串接列表

先在代码顶部加命名空间引用:

using System.Linq;

然后循环直接这么写:

foreach (Button btn in appList.Concat(sequenceList).Concat(FunctionList))
{
    if (btn.FillColor != Color.White) 
    {
        // 你的业务代码写这
    }
}

Concat会把三个列表按顺序拼成一个可遍历的序列,遍历顺序是先跑完appList所有元素,再跑sequenceList,最后跑FunctionList,全程只有btn一个循环变量,完全符合你的要求。

不想用LINQ的兼容写法

如果你的项目版本老,用不了LINQ,就把处理逻辑抽个方法,分别遍历三个列表调方法就行,效果一模一样:

void ProcessBtn(Button btn)
{
    if (btn.FillColor != Color.White)
    {
        // 你的业务代码写这
    }
}

foreach (Button btn in appList) ProcessBtn(btn);
foreach (Button btn in sequenceList) ProcessBtn(btn);
foreach (Button btn in FunctionList) ProcessBtn(btn);

补个小提醒:你原来代码里写的sequenceLsit拼错了,正确是sequenceList,别因为拼写错报编译错误。

内容的提问来源于stack exchange,提问作者John Doe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 10:39:26