//我的C#是跟着猛哥(刘铁猛)(算是我的正式老师)《C#语言入门详解》学习的,微信上猛哥也给我讲解了一些不懂得地方,对于我来说简直是一笔巨额财富,难得良师!
这次与大家一起学习C#中的值参数
传值参数(也叫值参数)
值参数 (value parameter)
什么是值参数?
这是从《C#语言规范5.0》中找到的一段定义:
用于传递输入参数。一个值参数相当于一个局部变量,只是它的初始值来自为该形参传递的实参。对值参数的修改不影响为该形参传递的实参。
值参数可以是可选的,通过指定默认值可以省略对应的实参。
传值参数--值类型
注意:1.值参数创建变量的副本 2.对值参数的改变不会影响变量的值
看个例子:
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace BlogUse 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 Calculator c = new Calculator(); 14 int y = 1024; 15 c.AddOne(y); 16 Console.WriteLine(y); 17 } 18 } 19 20 //准备一个能进行计算的Calculator工具 21 class Calculator 22 { 23 public void AddOne(int x) //这里的x就是传值参数 24 { 25 x = x + 1; 26 Console.WriteLine(x); 27 } 28 } 29 }
这是运行结果
注意到了吗我们明明对变量y调用了AddOne方法使其存储的值加1,但是为什么y还是1024呢?
这就是因为方法内的参数是传进来的变量的副本,,我们在方法体内修改的只是y传进来的一个副本,而这并不影响方法外变量y存储的值
---------------------------------------------------------------------------------------------------------------------------------------
To be Continued!
下篇与大家一起学习 传值参数--引用类型,创建新对象
---------------------------------------------------------------------------------------------------------------------------------------
希望广大网友指出问题所在,指出我哪里理解错了,共同交流,共同进步!