当前位置: 首页 > news >正文

C#程序的递归方法调用

一个方法可以自我调用。这就是所谓的 递归。下面的实例使用递归函数计算一个数的阶乘:

using System;namespace CalculatorApplication
{class NumberManipulator{public int factorial(int num){/* 局部变量定义 */int result;if (num == 1){return 1;}else{result = factorial(num - 1) * num;return result;}}static void Main(string[] args){NumberManipulator n = new NumberManipulator();//调用 factorial 方法Console.WriteLine("6 的阶乘是: {0}", n.factorial(6));Console.WriteLine("7 的阶乘是: {0}", n.factorial(7));Console.WriteLine("8 的阶乘是: {0}", n.factorial(8));Console.ReadLine();}}
}

当上面的代码被编译和执行时,它会产生下列结果:

6 的阶乘是: 720
7 的阶乘是: 5040
8 的阶乘是: 40320
  1. 参数传递
    当调用带有参数的方法时,您需要向方法传递参数。在 C# 中,有三种向方法传递参数的方式:

    方式    描述
    值参数    这种方式复制参数的实际值给函数的形式参数,实参和形参使用的是两个不同内存                中的值。在这种情况下,当形参的值发生改变时,不会影响实参的值,从而保证了                实参数据的安全。
    引用参数    这种方式复制参数的内存位置的引用给形式参数。这意味着,当形参的值发生改                变时,同时也改变实参的值。
    输出参数    这种方式可以返回多个值。

相关文章:

  • 项目启动 | 盘古信息助力鼎阳科技开启智能制造升级新征程
  • pytorch把图片打成patches
  • Linux下USB设备图像采集
  • mysql编程--从入门到入土
  • PPT的精细化优化与提升策略
  • Kubernetes中的Java微服务部署策略
  • 【深度学习】python之人工智能应用篇——图像生成技术(一)
  • 大数据面试-Hive
  • 用Java获取键盘输入数的个十百位数
  • 线代的学习(矩阵)
  • c语言回顾-结构体(2)
  • C++设计模式之适配器模式
  • Ubuntu配置ssh+vnc(完整版)
  • 数据结构:为什么说链表是顺序表的升级版(c语言实现)
  • pgsql给单独数据库制定账号权限
  • [笔记] php常见简单功能及函数
  • 〔开发系列〕一次关于小程序开发的深度总结
  • chrome扩展demo1-小时钟
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Fundebug计费标准解释:事件数是如何定义的?
  • Less 日常用法
  • MySQL主从复制读写分离及奇怪的问题
  • spring-boot List转Page
  • 力扣(LeetCode)22
  • 如何设计一个微型分布式架构?
  • 小程序button引导用户授权
  • 一些css基础学习笔记
  • 用Visual Studio开发以太坊智能合约
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • ​香农与信息论三大定律
  • #### golang中【堆】的使用及底层 ####
  • #14vue3生成表单并跳转到外部地址的方式
  • (23)Linux的软硬连接
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (二)原生js案例之数码时钟计时
  • (十七)Flink 容错机制
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • .describe() python_Python-Win32com-Excel
  • .NET C# 配置 Options
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET Core Web APi类库如何内嵌运行?
  • .net refrector
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .NET6 命令行启动及发布单个Exe文件
  • .NET6实现破解Modbus poll点表配置文件
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • [ JavaScript ] JSON方法
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解