【发布时间】:2014-11-18 22:18:54
【问题描述】:
namespace ConsoleApplication1
{
class class1
{
protected internal string inf1()
{
Console.WriteLine("\n......inf1() \n");
return inf1();
}
}
class class2 :class1
{
static void Main(string[] args)
{
class1 c1 = new class1();
class2 c2 = new class2();
Console.WriteLine(c1.inf1());
Console.WriteLine(c2.inf1());
Console.ReadKey();
}
}
遇到无限循环问题。进程因StackOverflowException而终止?
如何防止代码无限循环?
【问题讨论】:
-
是的,inf1 被递归调用,因此导致无限循环,因此堆栈溢出是预期的行为。您有什么问题或不明白的地方?
-
你的代码显然有一个无限递归,方法inf1总是自己执行,你到底希望发生什么?
-
这有什么意义?您是在尝试调用父类中的方法还是什么?
-
是的,我正在尝试调用父类中的方法
标签: c# exception stack-overflow infinite-loop