一、基本语法

1.概念

函数是实现一个特定功能的代码块,通过函数名称我们可以反复调用这段代码,完成特定的事情。避免了重复书写。

2.函数的声明与调用

a.命名(Pascal命名法)
要求每个单词首字母大写,其余小写
Pascal命名法用于给类或函数(方法)命名。
例如:

ReadLine();
ReadKey();
ToDouble();
ToInt32();

b.函数声明(语法)

static 返回值类型 函数名 ([参数列表])        //static:静态标识符
{函数代码体;
}

注:
返回值类型:如果无返回值则写void
函数名:当前函数的名字,符合Pascal命名法
参数列表:如果不需要参数,则不写
如果需要参数,要以:参数类型 参数名 形式书写
例如:static void name (string name1)
c.函数的调用
函数名([])
注意:如果函数只声明不调用,则函数中的代码不会被执行

3.函数的参数(形参和实参)及返回值

a.参数
形参:在定义函数时,参数列表中定义的参数
实参:在函数调用时,传递给函数的具体参数

static void Name(string name1)       //这里的name1是形参
{Console.WriteLine("我的名字是{0}",name1);
}
string a = "小明";
Name(a);        //这里的“小明”是实参

b.返回值
关键字:return
作用:在函数中返回要返回的值,并立即结束函数(后面语句并不执行)

二、函数重载

1.为何重载

函数名称相同,但是参数列表不同
调用该函数的时候会根据不同参数,自动选择合适的函数执行。

2.参数不同的情况

如果参数的个数相同,那么参数的类型就不能相同;
如果参数的类型相同,那么参数的个数就不能相同。这样才能在同名函数间有所区别。
注意:函数的返回值和重载没有关系

例如:定义一个Add方法,实现整数,小数相加操作

static void Main(string[] args){Console.WriteLine(Add(2.5, 3));Console.WriteLine(Add(2, 3));Console.WriteLine(Add(2.5, 3.2));Console.WriteLine(Add(2, 3.2));Console.ReadKey();}//方法一:static int Add(int a, int b){return a + b;}//方法二:static double Add(double a, int b){return a + b;}//方法三:static double Add(double a, double b){return a + b;}//方法四:static double Add(int a, double b){return a + b;}

三、高级参数

1.函数参数传递(值传递)

正常的参数传递,在函数结束后其内部值不会对外界产生影响,因为实参传给形参的数据使按值传递(在栈中开辟新的空间,复制数值),在函数内部修改形参不会影响实参值。

修饰符 int 函数名(int x,int y)
{方法;
}

2.ref参数(引用传递)

ref 参数:实参传递给形参的是内存地址,二者指向相同的内存空间,所以对形参的修改均会反映到实参上

修饰符 int 函数名(ref int x,int y)
{方法;
}

3.out参数(引用传递)

同ref参数一样,out参数也是引用传递,不同的是:ref 参数要求在传递之前必须赋值,而out参数不用赋值即可使用
用out参数可以使一个函数返回多个不同类型的值

修饰符 int 函数名(out int x,int y)
{方法;
}

4.params参数

如果函数中有多个相同类型的参数,则可定义为params参数,这是一个一维数组,在参数数目可变时采用。

修饰符 int 函数名(params int[] x)
{方法;
}

四、递归调用

1.递归的概念

函数通过直接或间接的方式调用自己的算法(自己调用自己)
原则:
函数会一直调用自己,直到满足特定条件(递归要有一个结束条件);
递归调用时会传递些参数,每次调用都会将一个新的参数传递给自己;

2. 实例:递归从1加到100

static int AddNum(int n)
{if (n == 1) return 1;return n + AddNum(n - 1);
}

C#中的函数(也叫方法)相关推荐

  1. pythonlower函数_python中lower函数实现方法及用法讲解

    之前小编介绍过python中将字符串小写字符转为大写的upper函数的使用方法(upper函数).有将小写转为大写的需要,那也有将大写转为小写的情况.本文主要介绍在python中可以将字符串大写自摸转 ...

  2. python中的方法什么意思_python中的函数和方法的区别是什么

    python中的函数和方法的区别: 1.函数要手动传self,方法不用传self. 2.如果是一个函数,要用类名去调用,如果是一个方法,要用对象去调用. 举例说明:class Foo(object): ...

  3. 查看dll中的函数(方法)

    https://jingyan.baidu.com/article/5553fa82b953b365a23934b7.html 查看dll中的函数(方法) 听语音

  4. C++中SORT函数使用方法

    C++中SORT函数使用方法 一.sort函数 1.sort函数包含在头文件为#include的c++标准库中,调用标准库里的排序方法可以实现对数据的排序,但是sort函数是如何实现的,我们不用考虑! ...

  5. Makefile中patsubst函数使用方法

    Makefile中patsubst函数使用方法   patsubst函数用于将文件模式进行替换. 一.作用 替换文件后缀. 二.格式 $(patsubst 原模式, 目标模式, 文件列表) 三.实例 ...

  6. java中instr函数_Oracle中instr函数使用方法

    Oracle中instr函数使用方法 更新时间:2012年11月03日 00:53:51   作者: 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置.只检索一次,就是 ...

  7. php7 iconv函数,分析php中iconv函数使用方法

    分析php中iconv函数使用方法 最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些. ...

  8. JavaScript如何声明对象、函数以及对象中的函数(即方法)

    目录 声明对象的2种最常见方法 声明函数的2种最常见方法 在对象中声明函数 声明对象的2种最常见方法 1) var Zhihuijun = {name:'彭志辉',age:28,upName:'稚晖君 ...

  9. 简单介绍SQL中ISNULL函数使用方法

    这篇文章介绍了SQL Server.MySQL.Oracle三种数据库中ISNULL函数的使用方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 SQL Ser ...

最新文章

  1. 为安装有系统及应用的服务器更换硬盘方法一例
  2. time时间格式输出转换
  3. Git的简单使用以及在Django中有关日志文件的忽略
  4. CSS浏览器兼容汇总
  5. JVM真香系列:.java文件到.class文件
  6. 2019量子计算机上市公司,2019年第一炮:量子计算机终于来了!
  7. 声网:疫情期间日均通话分钟数较日常增长近一倍 达15.6亿分钟
  8. mysql 漏洞 2015_Oracle MySQL Server远程安全漏洞(CVE-2015-0411)
  9. 深思 JAVA IT 求职
  10. k8s资源对象及API群组
  11. java 偏向锁的作用_java--偏向锁
  12. Android自定义控件学习
  13. Acwing-872. 最大公约数
  14. Esp8266 进阶之路25【高级篇】深聊下esp8266的串口 Uart 通讯中断编程,为您准备好了 NONOS 版本 和 RTOS 系统的串口驱动文件。(附带Demo)
  15. Bitwise Exclusive-OR Sequence
  16. c 语言 控制台程序 行字体颜色,C# 控制台程序设置字体颜色
  17. MS---数据库概念回顾
  18. DP线和HDMI线区别,优缺点,传输显示器图像速率
  19. 接口自动化测试(4)-接口测试
  20. 数据安全--8--数据安全中的部分技术最佳实践

热门文章

  1. scratch案例——双人赛跑
  2. 视频大数据存储平台解决方案(ppt)
  3. LeanCloud 国内节点与国际节点如何选择?
  4. 51单片机学习日记 | LCD1602黑块和闪烁问题的处理
  5. 深度学习:Concatenate的理解
  6. 数据大屏:聊聊常见可视化大屏的产品实现
  7. spring boot +vue用什么记录登录状态_2019年web前端Vue面试题总结
  8. LiveNVR监控流媒体Onvif/RTSP功能功能-支持GB35114接入国标流媒体平台接入说明
  9. MySQL存储过程示例
  10. Linux使用rpm命令卸载软件