C#检查列表中的所有值

本文关键字:检查 列表 | 更新日期: 2023-09-27 18:29:32

我创建一个list<string> machineTypes并用数据填充它。我想检查集合是否包含任何字符串组合。我最初的计划是使用for循环,但显然我不能在for循环中间检查多个索引。

for (int i = 0; i < machineTypes.Count; i++)
            {
                if (machineTypes[i] == "W")
                //do stuff
                if ((machineTypes[i] == "P") && (machineTypes[i] == "W") && (machineTypes[i] == "A") && (machineTypes[i] == "C"))
                    //do stuff
            }

因此,我正在寻找最佳方式的建议。我想我可以使用String.Join,但我想知道是否有更优雅的方式。

C#检查列表中的所有值

也许不太优雅,但这样的东西可能会帮助

for (int i = 0; i < machineTypes.Count; i++)
            {
                int jj=i;
                if (machineTypes[i] == "W")
                //do stuff
                if (jj< machineTypes.Count-4)
                if ((machineTypes[jj] == "P") && (machineTypes[jj+1] == "W") && (machineTypes[jj+2] == "A") && (machineTypes[jj+3] == "C"))
                    //do stuff
            }

我刚刚创建了一个新的var jj,以防您想增加或更改其值,而不更改i值。请注意if (jj< machineTypes.Count-4)条件检查,以确保可以安全地使用jj+3作为索引。