C#入门基础——值类型和引用类型
C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型。C#的引用类型包括:数组,用户定义的类、接口、委托,object,字符串。
引用类型在栈(stack)中存储一个引用,其实际的存储位置位于托管堆(heap)
其实简单来说值类型就是保存实际的值,引用类型就是指向一个存有值的一个地址
我们可以这么来理解
那从内存的分配角度来看,是因为值类型,已经知道了类型的范围大小,可以进行有效分配,比如int,计算机是知道其范围的,所以直接由系统分配在栈中,无需自己申请!
而新的类型,比如自己定义一个类,很明显这个类是不知道大小的,应该有程序自己来申请内存空间,所以由堆来分配!
{:5_111:}
页:
[1]