C#学习笔记_06_方法&函数
06_方法&函数
- 方法的定义
- 方法就是一个功能的集合,可以把程序中某段具有特殊功能的代码提取出来;
- 声明方法
- [ 访问权限修饰符 ] [ 其他的修饰符 ] 返回值类型 方法名 ( [形参列表] ) { 方法体 }
- [ 方括号内可有可无 ]
- 注意:
- 1、方法与方法是平级的,不允许出现方法嵌套方法;
- 2、方法名是一个标识符,遵循大驼峰命名法;
- 使用方法

- 一个方法体中的代码如果需要被执行,则需要调用方法;
- 一个方法写好之后可以被多次调用;
- 参数
- 其实就是一个变量
- 在调用方法的时候,需要给方法中所有的“必需形式参数”赋值
- 必需形式参数:没有初始值的形式参数
- “可选形参”要在“必须形参”之后

- 变量
- 局部变量:书写在方法或者一个代码段内的变量;
- 全局变量:书写在类中与方法平级的变量;
- 变量的作用域:一个变量能够被访问的范围;
- 一般来说,局部变量的作用域为,从声明开始,到声明变量所在的大括号结束;
- 在for循环中循环起点定义的变量:仅在for循环中有效
- 返回值

- 就是一个方法执行的结果
- void:是一个空,表示没有类型,没有结果
- 如果一个方法不需要执行的结果,这个方法的返回值类型可以设计成void
- return
- 将后面的值作为方法的执行结果返回
- 结束方法,return后的代码将不执行
- 注意:
- 如果一个方法的返回值类型不是void,那么在这个方法结束执行之前必须要有具体的返回的值;
- 如果一个方法中有分支,那么必须保证每一个分支上都有返回值;
- 返回值的类型和具体的返回值的类型要匹配;
- 在返回值为void的方法中是可以使用return的;
- 方法的重载Overload
- 在一个类中,如果有多个方法满足以下几个条件,那么这些方法彼此之间是重载关系
- 1、方法名相同
- 2、参数不同:数量不同,类型不同

- 重载跟返回值没有关系

- 通过“实参”来区分调用不同的方法
- 作用:简化代码
- 在一个类中,如果有多个方法满足以下几个条件,那么这些方法彼此之间是重载关系
- 方法的递归
- 递归:方法循环调用

- 使用递归的时候要注意:一定要留有出栈的时机

- 递归:方法循环调用
C#学习笔记_06_方法&函数的更多相关文章
- IOS学习笔记06---C语言函数
IOS学习笔记06---C语言函数 -------------------------------------------- qq交流群:创梦技术交流群:251572072 ...
- Typescript 学习笔记三:函数
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- ES6学习笔记<三> 生成器函数与yield
为什么要把这个内容拿出来单独做一篇学习笔记? 生成器函数比较重要,相对不是很容易理解,单独做一篇笔记详细聊一聊生成器函数. 标题为什么是生成器函数与yield? 生成器函数类似其他服务器端语音中的接口 ...
- OpenCV 学习笔记03 findContours函数
opencv-python 4.0.1 1 函数释义 词义:发现轮廓! 从二进制图像中查找轮廓(Finds contours in a binary image):轮廓是形状分析和物体检测和识别的 ...
- Go语言学习笔记七: 函数
Go语言学习笔记七: 函数 Go语言有函数还有方法,神奇不.这有点像python了. 函数定义 func function_name( [parameter list] ) [return_types ...
- Java学习笔记之---方法和数组
Java学习笔记之---方法与数组 (一)方法 (1)什么是方法? 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 (2)方法的优点 使程序变得更简短而 ...
- Python学习笔记之常用函数及说明
Python学习笔记之常用函数及说明 俗话说"好记性不如烂笔头",老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多 ...
- IOS学习笔记07---C语言函数-printf函数
IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...
- canvas学习笔记、小函数整理
http://bbs.csdn.net/topics/391493648 canvas实例分享 2016-3-16 http://bbs.csdn.net/topics/390582151 html5 ...
随机推荐
- linux各种IPC机制(进程通信)
linux各种IPC机制 (2011-07-08 16:58:35) 原文地址:linux各种IPC机制(转)作者:jianpengliu 原帖发表在IBM的developerworks网站 ...
- Fragment进阶(四)----->參数传递3种写法
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...
- 【面试题】Redis相关
1.Redis与Memorycache的区别? Redis使用单线程,而Memcached是多线程, Redis使用现场申请内存的方式来存储数据,并且可以配置虚拟内存:Memcached使用预分配的内 ...
- ASP.NET MVC脚本及样式压缩
现在我用ASP.NET MVC4.0,发现它自带有脚本和样式压缩功能.不知道以前的版本有木有,没有深究.太棒了!以前我们还辛辛苦苦自己搞了一个压缩的东西.这再次说明,平庸程序员如我辈,应该把时间和精力 ...
- splay树入门(带3个例题)
splay树入门(带3个例题) 首先声明,本教程的对象是完全没有接触过splay的OIer,大牛请右上角.. PS:若代码有误,请尽快与本人联系,我会尽快改正 首先引入一下splay的概念,他的中文名 ...
- 自适应阈值分割—大津法(OTSU算法)C++实现
大津法是一种图像灰度自适应的阈值分割算法,是1979年由日本学者大津提出,并由他的名字命名的.大津法按照图像上灰度值的分布,将图像分成背景和前景两部分看待,前景就是我们要按照阈值分割出来的部分.背景和 ...
- codeforces 916E Jamie and Tree dfs序列化+线段树+LCA
E. Jamie and Tree time limit per test 2.5 seconds memory limit per test 256 megabytes input standard ...
- 迭代,IDA*
1.codevs1288 题意:对于一个分数a/b(a!=1),将它表示为1/x + 1/y + 1/z ……的形式,x,y,z……互不相同 多解取加数少的,加数相同时,取最小的分数最大的. 思路:经 ...
- golang 随机数/域名校验
//随机数生成要用到的 const letterBytes = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ...
- HTML+CSS+JS总结
==================HTML(超文本标记语言)========== <!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前.此标签可告 ...