C# 简单的递归问题

[复制链接]
查看11 | 回复3 | 2009-10-15 10:20:48 | 显示全部楼层 |阅读模式
不是 它每次运行到getstr = arr[0].ToString();然后走完return getstr;} 到这一步的时候往下走 它不经过判断 跳到 这步了Recursion((ArrayList)arr[0]);你在vs2005 跑下就知道了你是单步调试是吧,调试的时候有时候,会不准的,有些步骤执行了,可是单步跟踪却跟踪不到,很正常的,我遇到很多次这样的问题了
回复

使用道具 举报

千问 | 2009-10-15 10:20:48 | 显示全部楼层
没有呀,我的经过判断了呀。我的是VS2008另外,改一下程序
else
{
return Recursion((ArrayList)arr[0]);
}
回复

使用道具 举报

千问 | 2009-10-15 10:20:48 | 显示全部楼层
getstr = Recursion((ArrayList)arr[0]); 主要是函数调用,参数以及局部变量副拷贝一份.调用结束,变量的改变不会影响调用方.所以Recursion((ArrayList)arr[0]);结束后,索然在Recursion((ArrayList)arr[0]);内getstr 被改变,但是调用结束后getstr 后回到调用前的值了,所以还是null.只有重新把返回值赋给它才可以
回复

使用道具 举报

千问 | 2009-10-15 10:20:48 | 显示全部楼层
这程序运行完了本身Textbox.Text就等于"Hello World"啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行