> 文档中心 > Unity开发之C#基础-ref,out,params关键字和方法(函数)

Unity开发之C#基础-ref,out,params关键字和方法(函数)


方法的介绍

方法其实是包含了一系列语句的代码块。程序通过调用该方法并指定任何所需的方法参数使语句得以执行。

制作不易还请各位一键三连哦!

文章目录

  • 方法的介绍
  • 方法和函数
    • 1.方法的声明格式
    • 2.变量的作用域
    • 3.方法传参的四种类型
      • 1.参数传递
    • 4.out关键字与ref的区别
  • 总结

方法和函数

1.方法的声明格式

方法成员的本质就是在类中声明的函数,描述类能够“做什么”

[访问控制修饰符] 返回值类型 方法名称 (参数列表){   方法体} 上面五个条件构成了方法的“签名”public void Area(int a){//执行语句}

省略方法的访问修饰符:private

2.变量的作用域

变量的作用域是指变量在代码中所能作用到的范围,例如:汽车只能在陆地上跑,飞机只能在空中飞,船只能在海洋里游,机场永远等不到火车,我也没有等到她…好了回归正题啊综上所述,作用域就是某些事物起作用的有效的区域

  • 函数就是将一堆代码进行重用的一种机制。一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些”数据“给它,它执行完成后可能会有一些“执行结果”给我们。其中“需要的数据”叫做“参数”,返回的“执行结果”就是返回值 方法的返回值需要与该方法的返回值类型相同,否则无法进行返回,方法参数也是如此,必须做到类型匹配
    在这里插入图片描述
    在这里插入图片描述

  • 变量的作用域:
    变量的作用域是指变量有效性的范围,与变量定义的位置密切相关,作用域是从空间这个角度来描述变量的,按照不同作用于的不同,变量可分为局部变量和全局变量
    局部变量:仅作用与所在的方法内
    全局变量:作用于当前类的在这里插入图片描述
    下面是方法具体示例:
    在这里插入图片描述

3.方法传参的四种类型

方法中所可以传入参数列表中的参数总共有四种类型

  1. 值参数类型:不加任何修饰符,是默认的类型
  2. 引用型参数:以ref修饰符声明
  3. 输出型参数:以out修饰符声明
  4. 数组型参数:以parmas修饰符声明

1.参数传递

  1. 值传递:方法中对形参做的修改,不会影响方法外面的实参
    (1)对于值类型数据,值传递就是传递了变量的值。
    (2)方法内发生的对参数的更改,对该变量中存储的原始数据无任何影响。
    在这里插入图片描述

  2. 引用型参数传递:
    关键字:ref
    (1)引用传递是传递变量的地址,使得形参和实参指向同一内存空间,方法中对于形参的修改,实际上就是对实参的修改
    (2)由调用方法初始化参数值。实参,形参中ref不可以省略
    在这里插入图片描述

  3. 输出型参数传递:
    关键字:out
    (1)当希望方法返回多个值时,声明out参数类型的方法非常有用。
    (2)使用out参数的方法仍然可以返回一个值。一个方法可以有一个以上的out参数。
    (3)使用out关键字可以将未初始化的变量传递给方法,可以避免多余的初始化。
    (4)和ref关键字一样都是引用传递。
    在这里插入图片描述
    在这里插入图片描述
    值类型参数与引用类型参数(ref,out)的区别:
    值参数类型方法可以直接传入值,也可以传入对象,方法内对所传入的参数的更改,不会对原对象有任何影响

  4. 数组型参数(可变参数数组)
    传入一个可变数量的参数类型数组,数组的参数个数可以变
    (1)在不确定需要传递多少个参数的时候可以使用params关键字指明一个可变的参数数组
    (2)数组参数的类型必须是一维数组,而且必须是形参表中的最后一个参数
    (3)数组参数始终是值传递方式进行传递,不可以将params同ref和out组合
    在这里插入图片描述
    在这里插入图片描述

4.out关键字与ref的区别

  1. ref传进去的参数必须在调用前初始化,out则不需要
  2. ref传进去的参数在函数内部可以直接使用而out不可以
  3. ref传进去的参数在函数内部可以不被修改,但out必须在离开函数体前进行赋值

总结

方法无论在何种编程语言中都是不可或缺的,学习编程语言也就必须要知道方法,
out,ref关键字等都在unity中有着更重要的作用,请大家仔细学习最后,感谢您的观看,我们下篇文章见!