Unity开发之C#基础-ref,out,params关键字和方法(函数)
方法的介绍
方法其实是包含了一系列语句的代码块。程序通过调用该方法并指定任何所需的方法参数使语句得以执行。
制作不易还请各位一键三连哦!
文章目录
- 方法的介绍
- 方法和函数
-
- 1.方法的声明格式
- 2.变量的作用域
- 3.方法传参的四种类型
-
- 1.参数传递
- 4.out关键字与ref的区别
- 总结
方法和函数
1.方法的声明格式
方法成员的本质就是在类中声明的函数,描述类能够“做什么”
[访问控制修饰符] 返回值类型 方法名称 (参数列表){ 方法体} 上面五个条件构成了方法的“签名”public void Area(int a){//执行语句}
省略方法的访问修饰符:private
2.变量的作用域
变量的作用域是指变量在代码中所能作用到的范围,例如:汽车只能在陆地上跑,飞机只能在空中飞,船只能在海洋里游,机场永远等不到火车,我也没有等到她…好了回归正题啊综上所述,作用域就是某些事物起作用的有效的区域
-
函数就是将一堆代码进行重用的一种机制。一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些”数据“给它,它执行完成后可能会有一些“执行结果”给我们。其中“需要的数据”叫做“参数”,返回的“执行结果”就是返回值 方法的返回值需要与该方法的返回值类型相同,否则无法进行返回,方法参数也是如此,必须做到类型匹配
-
变量的作用域:
变量的作用域是指变量有效性的范围,与变量定义的位置密切相关,作用域是从空间这个角度来描述变量的,按照不同作用于的不同,变量可分为局部变量和全局变量
局部变量:仅作用与所在的方法内
全局变量:作用于当前类的
下面是方法具体示例:
3.方法传参的四种类型
方法中所可以传入参数列表中的参数总共有四种类型
- 值参数类型:不加任何修饰符,是默认的类型
- 引用型参数:以ref修饰符声明
- 输出型参数:以out修饰符声明
- 数组型参数:以parmas修饰符声明
1.参数传递
-
值传递:方法中对形参做的修改,不会影响方法外面的实参
(1)对于值类型数据,值传递就是传递了变量的值。
(2)方法内发生的对参数的更改,对该变量中存储的原始数据无任何影响。
-
引用型参数传递:
关键字:ref
(1)引用传递是传递变量的地址,使得形参和实参指向同一内存空间,方法中对于形参的修改,实际上就是对实参的修改
(2)由调用方法初始化参数值。实参,形参中ref不可以省略
-
输出型参数传递:
关键字:out
(1)当希望方法返回多个值时,声明out参数类型的方法非常有用。
(2)使用out参数的方法仍然可以返回一个值。一个方法可以有一个以上的out参数。
(3)使用out关键字可以将未初始化的变量传递给方法,可以避免多余的初始化。
(4)和ref关键字一样都是引用传递。
值类型参数与引用类型参数(ref,out)的区别:
值参数类型方法可以直接传入值,也可以传入对象,方法内对所传入的参数的更改,不会对原对象有任何影响
-
数组型参数(可变参数数组)
传入一个可变数量的参数类型数组,数组的参数个数可以变
(1)在不确定需要传递多少个参数的时候可以使用params关键字指明一个可变的参数数组
(2)数组参数的类型必须是一维数组,而且必须是形参表中的最后一个参数
(3)数组参数始终是值传递方式进行传递,不可以将params同ref和out组合
4.out关键字与ref的区别
- ref传进去的参数必须在调用前初始化,out则不需要
- ref传进去的参数在函数内部可以直接使用而out不可以
- ref传进去的参数在函数内部可以不被修改,但out必须在离开函数体前进行赋值
总结
方法无论在何种编程语言中都是不可或缺的,学习编程语言也就必须要知道方法,
out,ref关键字等都在unity中有着更重要的作用,请大家仔细学习最后,感谢您的观看,我们下篇文章见!