对值类型和引用类型的区别问题是作为程序员最基本的功底了。俗话说,不理解引用类型和值类型区别的程序员会把代码引入诡异的陷阱和诸多性能问题。今天小编要科普一下这方面的知识。请多多指教!
【C#值类型】
定义:直接将内存存储在栈中,由系统自动释放资源的数据类型。
主要包括:int,long,float,char,bool,enum,struct等
主要功能:基于值类型的变量直接包含值,将一个值类型变量赋给另一个值类型变量时,将复制包含的值。每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。
初始化:
int myInt;
【C#引用类型】定义:由类型的实际值引用表示的数据类型。
主要包括:object,string等
主要功能:传递函数的参数和返回值
【二者对比】
【学习小结】
这两种类型的区分非常明显。这里只是一些理论上面的小小总结,慢慢在实践中 体会和学习吧。