Files
My-Notes/笔记/CSharp/基础/值类型和引用类型.md
T
2026-04-13 15:40:15 +08:00

993 B

概念: ==引用类型:string、数组、类== ==值类型:剩下都是,包括数组、enum、结构体==

值类型默认都是0
bool类型是false
引用类型默认值是null

使用区别: 值类型:在相互赋值时,把内容进行拷贝 //他变我不变 引用类型:把相互赋值时,把==地址==进行拷贝 //他变我也变 原因: 值类型和引用类型 存储的内存区域不同,存取方式也不一样 值类型:栈空间 —— 小但是快 (0GC) 引用类型:堆空间 —— 大但是慢 (且有GC)

案例: 值类型:

		static void ChangeValue(int value)
		{
			value =3:
		}
		static void Main(string[] args)
		{
			int a = 1;
			ChangeValue(1);
			cw(a);
		}
		//仍然输出1
引用类型:
		static void ChangeValue(int[] value)
		{
			value =99:
		}
		static void Main(string[] args)
		{
			int[] a = {1};
			ChangeValue(a);
			cw(a[0]);
		}
		//输出99

#基础