永发信息网

赵老师,请问一个菜鸟问题:c#中,静态函数可以正确实现递归调用功能吗?静态函数自身调用参数无变化

答案:3  悬赏:80  手机版
解决时间 2021-02-01 01:41
赵老师,请问一个菜鸟问题:c#中,静态函数可以正确实现递归调用功能吗?静态函数自身调用参数无变化
最佳答案
:c#中,静态函数可以正确实现递归调用功能吗?静态函数自身调用参数无变化

递归:在程序基本四元素中是不存在的.那么它到底属于什么?
先来给你解释一下这个问题.
递归其实最开始是程序员们为了方便自己写特殊的循环所使用.
最开始的初衷是实现例如∑ 等数学运算所衍生出的循环方式.

那么这么来看.你在一个循环中是否可以调用一个函数.问题只出在你的访问权限.

从您的描述中来看.
您想到的或者说担心的应该是所谓的变量值的存在时长或生命周期吧?

调用静态的函数或者类过程中,确实是要考虑到你的特殊全局变量.
为什么说特殊呢...因为他必须是静态的.例如你在A命名空间或者类 中去递归另外一个类或命名空间的静态函数.
担心的或者说区别只有一个.
非静态时,每次递归你可能需要NEW一个对象(当然如果你是全局对象则不考虑,此处我只给你描述极端化了..)
而静态则不需要.
所以要考虑目标类是否存在属性或字段.导致无法正常递归结果.
全部回答
不管是什么函数只是一段代码,cpu执行的时候的运算过程中在寄存器上存储数据,和函数本身没什么关系,函数只是控制过程
C# 中 有静态函数 也可以递归调用 static long jieCheng(int number) //阶乘 { if(number==1) return 1; return number*jieCheng(number-1); } 但是C#没有在参数中的静态变量 如下是错误的 static void M() { static int x=5;//错误 }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
前置后驱和前置前驱哪个好?
我小孩下半年读四年级了读寄托学校会小吗
有谁知道胡三太爷胡三太奶和黄三太爷黄三太奶
电脑主板不干净,想清洗一下,不知应该用什么
有个人他网上借贷一直逾期不还,为什么他还能
教驯的意思是什么啊?知道的请说下!
【唛头怎么写】外箱唛头中的CTN:要如何填写?
表情三巨头是那几个
我经常在网上和一些网友说一些很下流的话 怎
华缛的意思是什么啊?知道的请说下!
北京哪有专业批发美容美发的东西阿。
戴尔Inspiron1420笔记本电脑重装系统祥细教程
电脑出现i/o??123???怎么办(鼠标箭头在
每一天网吧地址在什么地方,想过去办事
【现在有两只表,一只慢10分钟,另外一只快10分
推荐资讯
听说有医保卡的每年去社区医院转一下就可以,
“淘宝网”这个词的西班牙语翻译?
圆形化粪池的直径不得小于()。A.0.7mB.1.0mC.
I want to do the same thing as you do. 这
近义词 方便()焦躁()模糊()还有一个,用“魅力
请帮我看看我买的鞋标是不是正品?用二维码扫
1991年四月三号出生的今年婚姻怎么样
潜移默转的意思是什么啊?知道的请说下!
锐志方向盘M0DE按纽键开关起什么作用
人类圣人,何时出山?——诸葛亮的预言惊人地
办助学贷款找不到学校的专业怎么办
什么电视剧或者电影适合和女朋友看,能促进感
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?