C#检查列表中的所有值

时间:2014-11-06 20:33:13

标签: c# list

我创建了一个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,但我想知道是否有更优雅的方式。

1 个答案:

答案 0 :(得分:0)

也许不是太优雅 - 但这样的事情可能会有所帮助

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作为索引。