我继续浏览二维数组,并希望停止重复相同的嵌套for循环
for (int x = 0; x < width; x++) {
for (int y =0; y < height; y++) {
// Do some stuff
}
}
有没有办法将嵌套的for循环干掉到更多的
行iterateThroughMatrix ( doSomeStuff )
iterateThroughMatrix ( doSomethingElse )
iterateThroughMatric ( doSomeOtherStuff )
void iterateThroughMatrix ( doSomething ) {
for (int x = 0; x < width; x++) {
for (int y =0; y < height; y++) {
// doSomething here
}
}
}
答案 0 :(得分:3)
你需要这样的东西:
void iterateThroughMatrix(Action<int, int> doSomething)
{
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
doSomething(x, y);
}
}
}
您可以使用具有两个整数的任何委托,但Action<int, int>
是内置的并准备就绪。