public bool update(registrationcommon objreg)
{
Userdl objuser = new Userdl();
try
{
return update(objreg);
}
catch (Exception e)
{
throw e;
}
}
答案 0 :(得分:2)
是的,它会的。假设Userdl
是registrationcommon
的子类或实现,您的方法无条件地调用自己。 (顺便说一句,你应该考虑改善你的所有名字。)
你怎么期望终止?大概你打算调用一个不同的 update
方法 - 所以想想你想要调用哪种方法,以及如何调用它。这是一个不同类的方法吗?同一类但具有不同参数的方法?
答案 1 :(得分:1)
这是因为你在没有停止的情况下递归调用update
函数:
public bool update(registrationcommon objreg)
{
// ...
return update(objreg);
// ...
}
你必须在某个时候终止它。
答案 2 :(得分:0)
我认为,在没有退出条件的情况下调用递归方法 - 这是一个问题!
答案 3 :(得分:0)
每个update
来电update
,调用update
,其中...... {/ p>
每次调用方法时,您的当前位置都会被压入堆栈。在正常情况下,当您从方法调用返回时,您从堆栈中“弹出”并返回到您所在的位置。但是,如果您在循环(例如示例)中执行此操作,则最终堆栈会溢出。因此,术语“堆栈溢出”。