c#第18课,传值/输出/引用/数组/具名/可选参数,扩展方法

传值参数

传值参数也叫值参数,声明的时候不加任何修饰符的形参就是传值形参。可以理解为形参是声明的变量,不过这个变量的初始化是在调用这个方法时所输入的实参

值类型的传值参数

当你把一个值作为实参放进方法的参数列表时,是产生这个值的副本(在内存中新创建一块存储空间),而用这个副本来参与方法体中的运算。因为实际参数和副本(传值形参)所指向的内存位置不同,所以副本与实际参数之间互不影响

class Program
{
  static void Main(string[] args)
  {
    int y =100;
    GetAddValue(y);
  }
  static void GetAddValue(int x)
  {
    Console.WriteLine(++x);
  }
}
//对y赋值为100,把y放进参数列表中。产生一个y的副本,而无论这个副本经过运算之后所得到的值是多少都与y无关,y不会因此改变。```考试,一个学生往旁边学生瞄了一眼看到选择题选b,这个学生也把b抄上去,但后面他越想越不对他觉得这道题应该选a。于是他把b划掉写上a,而旁边学生的答案不会因为这个学生的“运算”而改变```
引用类型的传值参数

引用变量作为实参时,也是产生这个变量的副本,传入方法运算的也是这个副本。哪怕这个副本引用新的实例,变量的数据也不会改变。

因为副本与变量存储的数据是同一个实例的内存地址,所以如果副本改变实例的某些数据,那么变量所引用的实例也是被副本修改了数据的实例。

一般情况下,修改参数所引用的对象的值的操作叫做某个方

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值