一、基本语法

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. docker查看现有容器_如何使用Docker将现有应用程序推送到容器中
  2. Banner长得丑,网站没朋友
  3. 递归求解并生成哈夫曼编码的代码实现
  4. 信息竞赛进阶指南--最小表示法
  5. 如何保证input的输入值不会随着提交 而变空_如何对web界面的应用进行测试?
  6. Java类集框架 —— LinkedHashMap源码分析
  7. Oracle 怎么开启,关闭归档
  8. hash地址_hash 算法原理及应用漫谈
  9. paip.dom4j中 selectSingleNode 或selectNodes获取不到节点的原因总结
  10. 技术晨读_20160215
  11. CNode社区(React)
  12. 2022机械员-通用基础(机械员)考试题库模拟考试平台操作
  13. php mysql新闻表模板_新闻列表之创建数据库
  14. ubuntu如何安装本地deb文件
  15. 库卡c2机器人编程语言,有一篇文章知道库卡-C2机器人的内部结构
  16. 计算机操作系统的主要功能
  17. Begging_Rust(译):做算术(第二章)
  18. ubuntu清理系统垃圾与备份
  19. java 排班日历,排班考勤表的制作也很简单,赶快来试试吧
  20. 让你秒懂古人测算地球周长的原理

热门文章

  1. zookeeper分布式调度中心
  2. 基于小波Elman神经网络的短期风电功率预测
  3. Java周记(第三周)
  4. Redis 键值设计使用总结
  5. android 高德地图卡顿,【报Bug】快速反复缩放地图会卡死(plus.maps)
  6. Mybatis order by 动态传参出现的一个小bug
  7. 【深度学习】李宏毅:1 天搞懂深度学习,我总结了 300 页 PPT(附思维导图)...
  8. ubuntu libiconv库 arm交叉编译
  9. 19、jsp的实质是什么?
  10. Linux数据库密码忘记