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