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 ...
随机推荐
- MDA模型定义及扩展
Tiny框架中.对模型本向没有不论什么强制性约束,也就是说你能够把不论什么类型的对象作为模型.也不必实现不论什么接口. 因此简单的说,你定义一个类.里面有一些描写叙述业务属性或处理的内容,就能够说它是 ...
- $().attr()的使用方法 && $().html()与$().text()的差别
<1>$().attr()的使用方法 </pre><pre class="html" name="code"><htm ...
- web 前端学习笔记
<!DOCTYPE HTML> <head> <style type="text/css"> body { background: #ff00 ...
- axis2的wsdl无法使用eclipse axis1插件来生成client--解决方法
使用jetty+axis2实现webservice服务端,且无需使用axis2命令生成服务端代码.仅仅要services.xml配置实现类. project为gradleproject配置文件在src ...
- Elasticsearch源码分析—线程池(十一) ——就是从队列里处理请求
Elasticsearch源码分析—线程池(十一) 转自:https://www.felayman.com/articles/2017/11/10/1510291570687.html 线程池 每个节 ...
- RPC通信框架——RCF介绍
现有的软件中用了大量的COM接口,导致无法跨平台,当然由于与Windows结合的太紧密,还有很多无法跨平台的地方.那么为了实现跨平台,支持Linux系统,以及后续的分布式,首要任务是去除COM接口. ...
- 第13课 SmartGit程序操作介绍
http://www.syntevo.com/
- PCB Genesis加邮票孔(线与线)实现算法
一.Genesis加邮票孔(线与线)实现算法 1.鼠标点击位置P点, 2.通过P点求出,垂足2个点:P1C与P2C (两个点即距离2条线段垂直的垂足点) 3.计算P1C到P2C方位角(假设置为变量PA ...
- C++中const用法
1.const和指针: 如果const出现在星号左边,表示被指物是常量:如果出现在星号右边,表示指针自身是常量:如果出现在星号两边,表示被指物和指针两者都是常量. char greet[] = “He ...
- [BZOJ2017][Usaco2009 Nov]硬币游戏(要复习系列)
又是DP? 好吧,或者说是博弈论,但是我不会啊. 先搞个O(n^3)的记忆化搜索,然后瞎搞好像发现两个状态几乎一样? 竟然过了样例,然后竟然A了... #include<iostream> ...