值传递和引用传递

Posted m0_60544381

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了值传递和引用传递相关的知识,希望对你有一定的参考价值。

值传递和引用传递

开发工具与关键技术:VS  C#

作者:尘则

撰写时间:2021/8/18

今天来说说值传递和引用传递。

C#中参数传递的方式有两种:值传递和引用传递

值传递:

值传递是指在调用方法时将实际参数复制一份传递到方法中,这样在方法中如果对参数进行修改,将不会影响到实际参数。

对于值类型的数据,如果没有特殊说明,那么在方法调用时按照值传递的方式进行参数的传递。

引用传递:

引用传递是指在调用方法时实际参数和形式参数都指向同一个内存,这样在方法中如果对参数进行修改,将会影响到实际参数。

那么在方法调用时,值类型一般都是以值传递的方式,引用类型都是以引用传递的方式。

1 //IntValue.cs 源文件

2

3 /// <summary>

4 /// 定义一个只包含整数的类型

5 /// </summary>

6 class IntValue

7 {

8 public int Value { get; set; }

9 }

1 //Program.cs 源文件

2 static void Main(string[] args)

3 {

4 int num = 5;

5

6 IntValue intValue = new IntValue();

7 intValue.Value = 5;

8

9 Console.WriteLine("num:{0}", num);

10 //值类型

11 ChangeValue(num);

12 Console.WriteLine("num:{0}", num);

13

14

15 Console.WriteLine("IntValue:{0}", intValue.Value);

16 //引用数据类型

17 ChangeValue(intValue);

18 Console.WriteLine("IntValue:{0}", intValue.Value);

19 }

20

21 static void ChangeValue(int value)

22 {

23 value = 20;

24 }

25

26 static void ChangeValue(IntValue intValue)

27 {

28 intValue.Value = 20;

29 }

这些是我所知到的值传递和引用传递,所以我要分享给你们,希望可以帮助到你们。以上就是我的分享,萌新出道,请多指教。

如果有更好的方法欢迎在评论区教导和提问喔

以上是关于值传递和引用传递的主要内容,如果未能解决你的问题,请参考以下文章

PHP对象到底是值传递还是引用传递

Java Object 引用传递和值传递

值传递和引用传递的区别

Java值传递和引用传递

值传递和引用传递

什么是值传递和引用传递?