我在一个二维数组网格中存储一个令牌,这个令牌可以一次移动一个位置。当令牌移动时,我使用如下所示的for循环检查每个位置。
for (int i = 0; i < 9; i++){
// Do things
}由于令牌的当前位置始终为4,因此我包含了一条if语句,以避免检查令牌的当前位置
for (int i = 0; i < 9; i++){
if(i != 4){
// Do things////
}
}有没有办法强制循环在声明中自动跳过i=4,或者这是忽略它的最好方法。
发布于 2021-05-17 20:55:20
这完全没问题,只有一个建议:我将使用
if (i == 4) continue;防止代码嵌套
发布于 2021-05-17 20:50:54
这可能是最好的解决方案,但是如果您确实希望避免使用此if语句,则可以始终使用foreach
var iterList = new List<int> { 0, 1, 2, 3, 5, 6, 7, 8 };
foreach (int element in iterList)
{
// use element
}但这似乎不是高效的,也不是内存友好的。
发布于 2021-05-17 20:58:18
您可以尝试这样做:
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6 };
foreach (int item in numbers.Where((number, index) => index != 4))
{
Console.WriteLine(item);
}https://stackoverflow.com/questions/67569916
复制相似问题