Итак, у меня есть этот простой и короткий метод, который должен выполнять заливку, но я всегда получаю ошибку stackoverflow.Я знаю, что подобные вопросы задавались, но я не могу найти подходящий ответ.Пожалуйста, если бы кто-то мог просто проверить мой код, я бы по-настоящему это оценил
* Я вызываю метод только один раз с координатами x = 0, y = 0
private int[,] Subsearch(int[,] chunkLightData, int x, int y)
{
for (int i = x - 1; i <= x + 1; i++)
{
for (int j = y - 1; j <= y + 1; j++)
{
try
{
if (i == x && j == y)
{
chunkLightData[i,j] = chunkLightData[i,j] == -1 || chunkLightData[i,j] == 2 ? 2 : 1;
continue;
}
else if (chunkLightData[i,j] == -1)
{
int[] temp2 = { i, j };
toVisit.Push(temp2);
}
}
catch (Exception e)
{
continue;
}
}
}
if (!(toVisit.Count==0))
{
int[] coordinates = toVisit.Pop();
chunkLightData = Subsearch(chunkLightData, coordinates[0],coordinates[1]);
}
return chunkLightData;
}