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
,但我想知道是否有更优雅的方式。
也许不太优雅,但这样的东西可能会帮助
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
作为索引。