Я пишу основание DFS (поиск в глубину) в моем C # проекте A, и он работает нормально.Затем я создаю новый проект C # B, в котором больше строк кода, чем A. Когда я запускаю ту же основу в проекте B с теми же входными данными, мой VS2008 показывает, что есть ошибка переполнения стека.
Могу ли я изменить размер стека в C #?
Имя фонда: FindBlocksFounction ().
Коды, вызывающие переполнение стека:
int tempx = nowx + dir[i, 0];
int tempy = nowy + dir[i, 1];
if (tempx < 0 || tempy < 0 || tempx >= m_Bitmap.Height || tempy >= m_Bitmap.Width)
continue;
int next;
next = PointList.FindIndex(t =>
{
if (t.x == tempx && t.y == tempy)
return true;
else
return false;
});//It seems like that FindIndex() in List<> costs some stack room.
if (next == -1)
continue;
if (color[next] == 0)
{
FindBlocksFounction(next);
}