简述C#中引用类型的变量和数值类型的变量的不同之处

如题所述

引用类型在堆上,值类型在栈上。不过这种说法很是笼统不易理解。
其实简单来说他们两在内存中存储的方式不同,直类型以栈的方式存储的,引用类型以堆的方式;前者是真实的存储空间,后者只是存储地址的引用。
值类型的变量发生改变,只影响自己,引用类型的变量发生改变,会影响到其他指到引用类型变量的值
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-13
这个用的最多的情况是二者进行参数传递的时候。
引用类型的变量进行传递时,传入的是其自己的那一份。而值类型进行传递的时候,传递的是其一份副本。因此在方法中如果对引用类型的变量进行了修改,就会改变其原始值。如果对值类型的变量进行了修改,不会影响到原始值。
我记得C#中标示引用类型的变量好像是ref啥的吧?
如果一个方法的参数前面有这个标示,那么方法体内对这个参数进行了某种修改,则传入的原始值也跟着改变了。否则不改变。本回答被网友采纳
相似回答