值传递和引用传递
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 }
这些是我所知到的值传递和引用传递,所以我要分享给你们,希望可以帮助到你们。以上就是我的分享,萌新出道,请多指教。
如果有更好的方法欢迎在评论区教导和提问喔
以上是关于值传递和引用传递的主要内容,如果未能解决你的问题,请参考以下文章