【Unity|C#】基础篇(4)——函数参数类型(值参/ref/out/params)
【学习资料】
《C#图解教程》(第5章):https://www.cnblogs.com/moonache/p/7687551.html
电子书下载:https://pan.baidu.com/s/1mhOmBG0
【内容】
- 函数参数类型
- 值参数:值类型、引用类型
- 引用参数(ref)
- 引用类型 作为 值参数与引用参数(ref) 的区别
- 输出参数(out)
- 参数数组(params)
【笔记】
- 参数类型

- 值参(形参改变不影响实参)
- 在栈中 为形参 开辟空间
- 将 实参的值 传给 形参(值类型传递值,引用类型传递指向堆数据的引用)

- 引用参数(ref)(形参改变,实参也跟随改变)
- 不会 为形参 在栈上 分配内存
- 相当于:给实参起个别名,实参和形参是同一个变量

- 引用类型作为 值参 与 ref参数 的区别
- 作为值参:形参指向新的数据时,实参指向的数据不变

- 作为ref参数:形参指向新的数据时,实参也指向新的数据(因为形参相当于是实参的别名)

- 输出参数(out)(与ref一样,但是在函数结束前必须赋值)

- 参数数组(params):参数个数不固定
- 在堆中 开辟 参数数组,将 实参 依次 赋值到 参数数组 中
- 函数执行完后,释放参数数组内存

void Show(params int[] inVals)
{
for (int i = ; i < inVals.Length; ++i)
Debug.Log(inVals[i]);
}
void Start()
{
Show();
Show(, );
Show(, , );
}
【Unity|C#】基础篇(4)——函数参数类型(值参/ref/out/params)的更多相关文章
- Python 带参数的装饰器 [2] 函数参数类型检查
在Python中,不知道函数参数类型是一个很正常的事情,特别是在一个大项目里.我见过有些项目里,每一个函数体的前十几行都在检查参数类型,这实在是太麻烦了.而且一旦参数有改动,这部分也需要改动.下面我们 ...
- c++函数参数类型-引用、指针、值
c++函数参数类型-引用.指针.值 https://www.cnblogs.com/lidabo/archive/2012/05/30/2525837.html
- python函数参数类型及其顺序
根据inspect模块官文文档中关于函数参数类型的相关说明,python函数参数共有五种类型,按顺序分别为:POSITIONAL_ONLY.POSITIONAL_OR_KEYWORD.VAR_POSI ...
- Python 函数参数类型大全(非常全!!!)
Python 函数参数类型大全(非常全!!!) 1.在python编写程序里面具有函数文档,它的主要作用是为了让别人可以更好的理解你的函数,所以这是一个好习惯,访问函数文档的方式是: MyFuncti ...
- 参数修饰符ref,out ,params的区别
参数修饰符ref,out ,params的区别 C#中有三个关键字-ref,out ,params,可是这三个之间的区别你都明白了吗? 那么我们就来认识一下参数修饰符ref,out ,params吧, ...
- C++基础--引用做函数参数
引用,简单粗暴的解释叫做别名,简单粗暴的例子就是,我是熊叫大雄,但是很多时候别人不叫我熊叫大雄,会叫我大雄,粤语地区朋友爱叫我阿雄,有人叫我雄,所以,熊叫大雄这个变量的值是我,雄.大雄.阿雄是熊叫大雄 ...
- C++学习基础五之函数参数——形参
一.理论部分 C++中函数形参主要分为两类,如图1所示, 图1 总结: 一.当函数参数为非引用形参时,传进函数体内的是实参的拷贝,(注意,对于基本类型而言,拷贝的是实参的值,对于指针而言拷贝的是实参的 ...
- PowerShell控制台输出符号+函数参数类型指定+文本内容读取
There are several ways: Write-Host: Write directly to the console, not included in function/cmdlet o ...
- pycahrm使用docstrings来指定变量类型、返回值类型、函数参数类型
py里面不需要显示声明类型,这和java c这些静态语言不同,虽然python这样做少了一些代码和写代码的困难度,但还是非常多的弊端的,运行速度 代码安全, 这些都是语言本身带来的本的弊端,这些没办法 ...
随机推荐
- layui导出表格设置常用函数
1.设置导出单元格为数字格式 字段名: function (value, line, data) { return { v: value, t: 'n' } }
- CVE-2019-1388 Windows UAC提权
漏洞简述 该漏洞位于Windows的UAC(User Account Control,用户账户控制)机制中.默认情况下,Windows会在一个单独的桌面上显示所有的UAC提示——Secure Desk ...
- PTA 符号配对 —— C++
请编写程序检查C语言源程序中下列符号是否配对:/*与 */.(与 ).[与].{与}. 输入格式: 输入为一个C语言源程序.当读到某一行中只有一个句点.和一个回车的时候,标志着输入结束.程序中需要检查 ...
- if、counf、countif、countifs、sumif、sumifs
评分等级:=IF(C3>=90,"优秀",IF(C3>=80,"良好",IF(C3>=60,"及格","不及格& ...
- Intel 8086 标志寄存器及JCC指令表
汇编 JCC指令表 JCC指条件跳转指令,CC就是指条件码. JCC指令 中文含义 英文原意 检查符号位 典型C应用 JZ/JE 若为0则跳转:若相等则跳转 jump if zero;jump if ...
- mybatis中用到的9种设计模式
1.Builder模式:例如SqlSessionFactoryBuilder.XMLConfigBuilder.XMLMapperBuilder.XMLStatementBuilder.CacheBu ...
- ArcGIS JavaScript API with jQuery: Error: multipleDefine
I would like to use ArcGIS JavaScript API 4.3 with jQuery, but I am getting following errors. I sea ...
- A - Kvass and the Fair Nut 二分
The Fair Nut likes kvass very much. On his birthday parents presented him nn kegs of kvass. There ar ...
- Pycharm的项目文件名是红色的原因及解决办法
今天在继续学习Python时,打开Pycharm后,发现有一个项目下的项目文件名是红色的,如下图: 刚开始我以为是我升级 Pycharm导致的,但我并没有急着去解决,因为并不会影响我执行代码等.当我修 ...
- list=null和list.size=0的区别
声明转载自:https://blog.csdn.net/iblade/article/details/50506398/ 转载自:https://blog.csdn.net/Hallelujah__/ ...