引用类型 值类型 区别 因为是值类型,里面交换不会影响外面的值。你需要改成 ref 参数:using System;class aa{public static void Main(){int my=10;int you=20;swap(ref my,ref you);Console.WriteLine(\"my:{0}\\nyou:{1}\",my,you);}public static void swap(ref int a,ref int b){int t;t=a;a=b;b=t;}}
引用类型和值类型的问题? 自定义类我们通常用于描述一个具有行为的对象。而值类型则只用于表示数据,也可以具有一些操作数据的方法。之所以在 CLR 中提供这两种类型,是因为在密集运算中,值类型可以提供更高的效率,因为其多数情况下值类型是在栈中分配的。
值类型和引用类型的区别和联系 对的。引用类型存储的是'aa'的引用,具体在内存里存储的是'aa'的内存地址。值类型直接存储的是'aa'。如果把A赋值给G,那么A和G指向同一个内存地址,所以如果这时候A改变了,比如A='CC',那么G也跟着改变了。而如果把B赋值给H,修改B='DD',那么H是不会改变的。H还是等于'aa'.引用类型在堆上,值类型在栈上。具体的可以看看大学里的数据结构这本书。
c#中引用类型和值类型分别有哪些? C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型。C#的引用类型包括:数组,用户定义的类、接口、委托,object,字符串。学习C#可以参考李天生的C# 2015视频教程,引用类型在栈中存储一个引用,其实际的存储位置位于托管堆。为了方便,本文简称引用类型部署在托管推上。值类型总是分配在它声明的地方:作为字段时,跟随其所属的变量(实例)存储;作为局部变量时,存储在栈上。值类型在内存管理方面具有更好的效率,并且不支持多态,适合用作存储数据的载体;引用类型支持多态,适合用于定义应用程序的行为。