Junior — Middle
Quais métodos existem para chamar um estouro de pilha durante a execução do programa?
sobes.tech IA
Resposta da IA
O estouro de pilha em C# geralmente é causado por recursão infinita ou demasiado profunda. Os principais métodos que causam estouro de pilha:
- Recursão infinita: uma função que chama a si mesma sem uma condição de saída.
void Recursive()
{
Recursive(); // chamada sem condição de saída
}
Recursive();
-
Recursão profunda: chamada recursiva com um grande número de chamadas aninhadas que excedem o tamanho da pilha.
-
Criação de variáveis locais grandes: declarar arrays locais muito grandes ou estruturas pode levar a um estouro de pilha, embora isso seja menos comum.
O estouro de pilha leva a uma exceção StackOverflowException no .NET, que não pode ser capturada nem tratada no código.