C#——传值参数

Posted GeekDragon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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#——传值参数的主要内容,如果未能解决你的问题,请参考以下文章

C#视频方法重载函数重载传值

C# URL传值中有一个#符号传不过去

C# 定时器传值问题详解

C#两窗体(或类)之间传值

web窗体页面之间的传值

XSS:如何从 C# 中的字符串中删除 JS 片段?