C#学习笔记------参数
2024-10-21 14:26:40
一、形参
形参是本地变量,它声明在方法的参数列表中,而不是方法体中。
二、实参
当代码调用一个方法时,形参的值必须在方法的代码开始执行之前被初始化。
1.用于初始化形参的表达式或变量称作实参。
2.实参位于方法调用的参数列表中。
3.每一个实参必须与对应形参的类型相匹配,或是编译器必须能够把实参隐士转换为那个类型。
当方法被调用的时候,每个实参的值都被用于初始化相应的形参,方法体随后被执行。
三、值参数
使用值参数,通过将实参的值复制到形参的方式把数据传递给方法。方法被调用时,系统做如下操作。
1.在栈中为形参分配空间。
2.将实参的值复制给形参。
值参数的实参不一定是变量。它可以是任何能计算成相应数据类型的表达式。
在把变量用作实参之前,变量必须被赋值(除非是输出参数)。对于引用类型,变量可以被设置为一个实际的引用或null。
下图说明了实参和形参在方法执行的不同阶段时的值,它表明以下3点。
1.在方法被调用前,用作实参的变量a2已经在栈里了。
2.在方法开始时,系统在栈中为形参分配空间,并从实参复制值。
1)因为a1是引用类型的,所以引用被复制,结果参数和形参都引用堆中的同一个对象。
2)因为a2是值类型的,所以值被复制,产生了一个独立的数据项。
3.在方法的结尾,f2和对象f1的字段都被加上了5。
1)方法执行后,形参从栈中弹出。
2)a2,值类型,它的值不受方法行为的影响。
3)a1,引用类型,但它的值被方法的行为改变了。
最新文章
- 【POJ】3207 Ikki's Story IV - Panda's Trick
- 如何成为一名优秀的前端工程师 (share)
- sublime text3侧边栏主题不生效问题解决
- AD板层定义介绍(二)
- 【转】java提高篇(二三)-----HashMap
- BlokUI的使用
- android:contentDescription的作用是什么
- unity3d为什么会有三种脚本语言?
- web浏览器上传超大文件插件
- HTML学习笔记 基础标签及css引用案例 第一节 (原创)参考使用表
- Typescript学习
- 第15章 使用EntityFramework Core进行配置和操作数据 - Identity Server 4 中文文档(v1.0.0)
- MySQL数据库char与varchar的区别分析及使用建议
- json和jsonp的区别?
- 获取laravel项目的路径的内置帮助函数
- Markdown基本使用方法
- nodejs pipe实现大文件拷贝
- phantomjsDriver的初始化
- EasyNetQ简单使用
- 解决ssh登录Host key verification failed
热门文章
- PyCharm中Dictionary与Python package的区别
- JAVA泛型知识-->; <;? extends T>;和<;? super T>;
- Spring Cloud Feign踩坑记录(二)
- 【大数据应用技术】作业十|分布式文件系统HDFS 练习
- 一、JavaScript基础
- java.lang.Error: java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<;init>;(Z)V
- 东站七雄保C位!论三线楼市网红板块的自我修养
- CentOS 6和 CentOS 7的区别【转】
- 用SC命令 添加或删除windows服务提示OpenSCManager 失败5
- vmware装centos7 无法上网