在C#中,数据类型分为值类型和引用类型。

值类型是存储在堆栈中的数据类型。它们包括整数类型(如int,long等),浮点类型(如float,double等),字符类型(如char),布尔类型(如bool)等。当将一个值类型赋给另一个变量时,会创建该值类型的一个副本,对原始变量的修改不会影响副本。

引用类型是存储在堆中的数据类型。它们包括类,接口,数组和委托。当将一个引用类型赋给另一个变量时,实际上是将指向对象的引用赋给了另一个变量。因此,对原始变量的修改也会影响到另一个变量。

例如:

int a = 10;
int b = a;
b = 20;
Console.WriteLine(a); // 输出10

MyClass obj1 = new MyClass();
MyClass obj2 = obj1;
obj2.Value = 20;
Console.WriteLine(obj1.Value); // 输出20

在第一个例子中,变量a和b都是值类型int,将a赋给b时会创建一个新的副本,因此对b的修改不会影响a。

在第二个例子中,变量obj1和obj2都是引用类型MyClass的实例,将obj1赋给obj2时,实际上是将指向MyClass对象的引用赋给了obj2。因此,对obj2的修改也会影响到obj1。

c# 值类型和引用类型

原文地址: https://www.cveoy.top/t/topic/jb6v 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录