同样的代码,用NET2.0执行产生的效果与其它框架使用的不同,导致报错。
认真查找原因后发现该程序的编写人员隐式的使用了一个公共变量,使之在递归过程中不断的被改写,使得1次递归后就破坏了原来的循环体,最终在NET2中报错,但显然,之后的框架处理了这一问题,应该是在递归的时候保持了上下文,使得变量被隐式修改后仍然执行此前的循环。
修改变量声明,使递归过程中的变量隔离,在NET2.0中执行正常