C#之函数
一、函数简介
【what】一段被封装起来且实现一定功能的代码
【why】提高编码效率,提高程序的可重用性、可读性、可维护性
【where】所有高级编程语言中
【when】
- 重复出现的相同或类似代码
- 具有独立逻辑功能的代码
【分类】
- 系统函数:由系统定义的函数,无需要定义直接使用(需导入对应命名空间)
- 自定义函数:由用户定义的函数,需先定义再调用
二、函数的定义
【组成】
函数签名(访问修饰符 返回值类型 函数名(参数列表) )+函数体
【语法】
访问修饰符 返回值类型 函数名(参数列表)
{
//函数体;
}
- 访问修饰符:设置函数的可访问范围,public static
- 返回值类型:函数返回值的数据类型
- 可以是C#中的任意数据类型
- void表示无返回值
- 函数名:函数的名称,通过函数名调用函数,命名规则同变量,首字母通常大写
- 参数列表:形参,用于在调用函数时向函数传递参数
- 任意个数:0-n
- 多个参数间用逗号分隔
- 函数体:函数的实现部分,可包含任意代码
【注意】
- 现阶段访问修饰符均使用
public static
- 函数定义位置:类的内部,其他函数之外
- 函数不能嵌套定义
- 参数列表的
()
,函数体的{}
均不能省略
三、函数的调用
【调用语法】
- 方法一:函数名(实参列表);
- 方法二:数据类型 变量名=函数名(实参列表);
【注意】
- 函数调用通过函数名来实现
- 实参与形参必须一一对应(个数和类型)
- 对于有返回值的函数可通过变量来接收返回值
【按函数结构分类函数】
-
无参无返回值
【语法】
public static void 函数名() { //函数体 }
【调用】
函数名();
-
有参无返回值
【语法】
public static void 函数名(形参列表) { //函数体 }
【调用】
函数名(实参列表);
-
有参有返回值
【语法】
public static 返回值类型 函数名(形参列表) { //函数体 return 返回值 }
【调用】
变量名=函数名(实参列表);
【参数传递】
- 类型
- 形参:在函数中定义
- 实参:在主调函数中定义
- 参数传递方式
- 值传递(默认):在函数调用时将实参的值的副本传递给形参(调用后实参的值不改变)
- 引用传递(使用ref):在调用时将实参的地址传递给形参(调用后实参的值会改变)
- 将数组作为参数传递
【返回值】
函数被调用后,返回给主调函数的值(通过return实现)
【语法】
return 表达式;
【作用】
结束被调函数的执行,返回主调函数,return之后的代码不会被执行
【注意】
- 每个函数只能有一个返回值
- 返回值可以是常量、变量或表达式
- 有返回值的函数中,必须有return;
- 返回值类型必须与函数定义的返回值类型一致
- 使用多路条件结构时,必须保证每个分支都包含返回值
四、变量的作用域
【作用域】指某些事物起作用或有效的区域
【变量的作用域】变量的声明周期和作用范围取决于变量声明的位置{}
【分类】
- 局部变量:内部变量,定义在函数中,只能在函数内部或者{}内部使用
- 成员变量(全局):定义在类中,函数之外,可以在类的任意函数中使用