【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这样做少了一些代码和写代码的困难度,但还是非常多的弊端的,运行速度 代码安全, 这些都是语言本身带来的本的弊端,这些没办法 ...
随机推荐
- CentOS安装图解及配置
CentOS-7-x86_64-Minimal安装图解 界面说明: Install CentOS 7 安装CentOS 7 Test this media & install CentOS ...
- 第十周CTF解答
第十周write-up解题答案及过程 隐写诶 直接用WinRAR查看就能看到其flag{0ca175b9c0f726a831d895e269332461 } 第一题 将后缀名改为 rar ,发现压缩包 ...
- alibaba工程师,如何解决乐观锁冲突问题?
很多做过电商系统的人应该知道,我们在设计电商系统中关于商品库存扣减时,在大部分情况下(并发量不高时),商品库存都可以直接在关系型数据库中进行扣减,那么在限时抢购活动正式开始后,那些单价比平时更给力.更 ...
- Django如何连接mysql
1.设置django的mysql驱动为pymysql 因为django默认的是使用MySqlDb连接mysql数据库,但是由于该模块不支持python3.4以上版本,所以使用pymysql模块 在项目 ...
- Electron – 项目报错整理(打包~2): electron-packager踩坑
- css3神奇的圆角边框、阴影框及其图片边框
css3圆角,建议IE10以上 如果border-radius 单位是百分比,则参考为自身宽高,因此当宽高不一致时,圆角为不规则形状 如果border-radius 为50%,则为椭圆:当宽高一致时, ...
- 监控自己的电脑浏览器访问记录并生成csv格式
#!usr/bin/env python #-*- coding:utf-8 _*- """ @author:lenovo @file: 获取浏览器历史记录.py @ti ...
- 吴裕雄--天生自然 python数据分析:医疗费数据分析
import numpy as np import pandas as pd import os import matplotlib.pyplot as pl import seaborn as sn ...
- 吴裕雄--天生自然 JAVA开发学习:Java 开发环境配置
- 【spring】jdbcTemplate之sql参数注入
demo @Repository("jdbcDao") public class JdbcTemplateDao { @Autowired private JdbcTemplate ...