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 ...
随机推荐
- Raphaeljs入门到精通(二)
这节我们将介绍Raphaeljs中元素的属性和事件,案例还是以上一篇的代码展开 <!DOCTYPE html> <html xmlns="http://www.w3.org ...
- NS3网络仿真(2):first.py
1 安装基本模块 11 安装Python 12 安装PTVS 13 加入对python-279的支持 2 在vs2013下编译NS3 3 编译NetAnim 4 在vs2 ...
- linux下apache+openssl配置记录
软件环境 Apache Httpd 2.2.29 (http://httpd.apache.org ) OpenSSL 1.0.1h (http://www.openssl.org/source ) ...
- JavaScript探秘:强大的原型和原型链
// foo 变量是上例中的 for(var i in foo) { if (foo.hasOwnProperty(i)) { console.log(i); } } JavaScript 不包括传统 ...
- <LeetCode OJ> 226. Invert Binary Tree
226. Invert Binary Tree Total Accepted: 57653 Total Submissions: 136144 Difficulty: Easy Invert a bi ...
- oc50--@class1
// // main.m #import <Foundation/Foundation.h> #import "Person.h" int main(int argc, ...
- 【POJ 2230】 Watchcow
[题目链接] http://poj.org/problem?id=2230 [算法] 欧拉回路 [代码] #include <algorithm> #include <bitset& ...
- 杂项-TMod:常见错误
ylbtech-杂项-TMod:常见错误 1.返回顶部 1. 1.1. {Template Error} TypeError: dateDiff is not a function at Array. ...
- Python中的math和保留小数位数方法
转载自 http://xukaizijian.blog.163.com/blog/static/17043311920111163272414/ math模块实现了许多对浮点数的数学运算函数. 这些 ...
- 基于Spark的网站日志分析
本文只展示核心代码,完整代码见文末链接. Web Log Analysis 提取需要的log信息,包括time, traffic, ip, web address 进一步解析第一步获得的log信息,如 ...