C#学习笔记------参数
一、形参
形参是本地变量,它声明在方法的参数列表中,而不是方法体中。
二、实参
当代码调用一个方法时,形参的值必须在方法的代码开始执行之前被初始化。
1.用于初始化形参的表达式或变量称作实参。
2.实参位于方法调用的参数列表中。
3.每一个实参必须与对应形参的类型相匹配,或是编译器必须能够把实参隐士转换为那个类型。
当方法被调用的时候,每个实参的值都被用于初始化相应的形参,方法体随后被执行。
三、值参数
使用值参数,通过将实参的值复制到形参的方式把数据传递给方法。方法被调用时,系统做如下操作。
1.在栈中为形参分配空间。
2.将实参的值复制给形参。
值参数的实参不一定是变量。它可以是任何能计算成相应数据类型的表达式。
在把变量用作实参之前,变量必须被赋值(除非是输出参数)。对于引用类型,变量可以被设置为一个实际的引用或null。
下图说明了实参和形参在方法执行的不同阶段时的值,它表明以下3点。
1.在方法被调用前,用作实参的变量a2已经在栈里了。
2.在方法开始时,系统在栈中为形参分配空间,并从实参复制值。
1)因为a1是引用类型的,所以引用被复制,结果参数和形参都引用堆中的同一个对象。
2)因为a2是值类型的,所以值被复制,产生了一个独立的数据项。
3.在方法的结尾,f2和对象f1的字段都被加上了5。
1)方法执行后,形参从栈中弹出。
2)a2,值类型,它的值不受方法行为的影响。
3)a1,引用类型,但它的值被方法的行为改变了。
C#学习笔记------参数的更多相关文章
- LR学习笔记---参数设置 (转 温故而知新)
LR在录制程序运行的过程中,VuGen(脚本生成器) 自动生成了包含录制过程中实际用到的数值的脚本,如果你企图在录制的脚本中使用不同的数值执行脚本的活动(如查询.提交等等),那么你必须用参数值取代录制 ...
- mysql性能优化学习笔记-参数介绍及优化建议
MySQL服务器参数介绍 mysql参数介绍(客户端中执行),尽量只修改session级别的参数. 全局参数(新连接的session才会生效,原有已经连接的session不生效) set global ...
- python学习笔记-参数带*
#!/usr/bin/python # -*- coding: utf-8 -*- def powersum (power,*args): #所有多余的参数都会作为一个元组存储在args中 s ...
- PHP学习笔记<参数的传递>
简单的例子说明参数在PHP文件之间的传递(有两个PHP文件在index.php文件上点击链接,在跳转的时候,依据参数的不同在neirong.php文件中显示不同的内容) inde.php的内容如下: ...
- [原创]java WEB学习笔记109:Spring学习---spring对JDBC的支持:使用 JdbcTemplate 查询数据库,简化 JDBC 模板查询,在 JDBC 模板中使用具名参数两种实现
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- MVC缓存OutPutCache学习笔记 (一) 参数配置
OutPutCache 参数详解 Duration : 缓存时间,以秒为单位,这个除非你的Location=None,可以不添加此属性,其余时候都是必须的. Location : 缓存放置的位置; 该 ...
- Dynamic CRM 2013学习笔记(一)插件输入实体参数解析
1. 问题描述 最近新建了一个post事件的插件,传入的参数处理如下: 1: if (context.InputParameters.Contains("Target") &a ...
- Dynamic CRM 2013学习笔记(二十六)报表设计:Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色
上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数 ...
- Noah的学习笔记之Python篇:函数“可变长参数”
Noah的学习笔记之Python篇: 1.装饰器 2.函数“可变长参数” 3.命令行解析 注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) ...
随机推荐
- ICEM-哑铃
原视频下载地址:https://pan.baidu.com/s/1kVBKJbT ;密码: jqeh
- java操作数据库,以页面显示学生信息为例
该部分内容实现的功能主要是:从数据库中查询数据并展示到页面,在页面中新增数据信息,在页面中修改数据信息,在页面中删除数据信息. =================stuList.jsp======== ...
- Real-time Multiple People Tracking with Deeply Learned Candidate Selection and Person Re-identification
Real-time Multiple People Tracking with Deeply Learned Candidate Selection and Person Re-identificat ...
- kubectl -n ingress-nginx exec nginx-ingress-controller-78bd49949c-t22bl -- cat /etc/nginx/nginx.conf
kubectl -n ingress-nginx exec nginx-ingress-controller-78bd49949c-t22bl -- cat /etc/nginx/nginx.conf
- java8之Spliterator
基本用法: import java.util.Arrays; import java.util.Spliterator; import java.util.stream.IntStream; publ ...
- android -------- SHA 加密算法
安全散列算法(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法.能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的 ...
- Redis常见问题及解决方案
在Redis的运维使用过程中你遇到过那些问题,又是如何解决的呢?本文收集了一些Redis的常见问题以及解决方案,与大家一同探讨. 码字不易,欢迎大家转载,烦请注明出处:谢谢配合 你的Redis有big ...
- redis-查看日志
转: redis-查看日志 redis在默认情况下,是不会生成日志文件的,所以需要配置 配置方法: 1.首先找到redis的配置文件 2.打开配置文件,找到logfile(可能有多个logfile,认 ...
- Oracle11g R2客户端安装图文详解过程
转: Oracle11g R2客户端安装图文详解过程 2018-06-17 13:30:26 大话JAVA的那些事 阅读数 4129更多 分类专栏: Oracle 版权声明:本文为博主原创文章,遵 ...
- 一起学习log4cxx
目前成熟的日志系统有很多,比如log4cxx,log4cpp等,今天一起来学习log4cxx吧,之所以学习这个,首先,这个日志库比较成熟,一直由apach基金在维护,而log4cpp缺乏维护.再者,这 ...