C#------值类型与引用类型

Posted lumao1122-milolu

tags:

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

定义:

  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 ConsoleApplication1
 8 
 9     class Program
10     
11         class Vector
12         
13             public int value;
14         
15         static void Main(string[] args)
16         
17             Vector x, y;
18             x = new Vector();
19             x.value = 30;
20             y = x;
21             Console.WriteLine(y.value);
22             y.value = 10;
23             Console.WriteLine(x.value);
24             Console.ReadKey();
25         
26     
27 

该例程中只创建了一个对象,x,y都是只向包含该内存的位置,因此他们都是引用类型变量,什么这两个变量只是保留了一个引用。由此结论,x,y引用的是同一个对象,对x的修改会影响y,反之亦然。

例程运行结果:

30

10

 

以上是关于C#------值类型与引用类型的主要内容,如果未能解决你的问题,请参考以下文章

c#中值类型和引用类型的区别

JAVA中值类型和引用类型的区别

Unity|C#番外篇——6个重要概念:栈与堆,值类型与引用类型,装箱与拆箱

C++--------复合类型

C#-变量类型(值类型引用类型)

c# 值类型与引用类型 值传递与引用传递