首页 > 代码库 > C#——传值参数(1)

C#——传值参数(1)

//我的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!

下篇与大家一起学习  传值参数--引用类型,创建新对象

---------------------------------------------------------------------------------------------------------------------------------------

希望广大网友指出问题所在,指出我哪里理解错了,共同交流,共同进步!

C#——传值参数(1)