首页 > 代码库 > 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)