c#中的五大数据类型:
1.类(class)
2.结构体(strcuture)
3.枚举(enumeration)
4.接口(interface)
5.委托(delegate)
其中类、接口和委托属于引用类型,结构体和枚举属于值类型。
堆内存与栈内存的知识补充:
1.栈(stack),调用方法时,就是在栈中进行的。栈比较小,一般只有1、2M,不小心就会发生stack overflow;
2.堆(heap),用来存储对象的实例,可以有几个G大小。
3.内存泄露,一个对象如果不再被使用,会被垃圾收集器在适当的时候自动回收释放,若是没有回收,就叫内存泄露。一般来说,c#中不太容易发生内存泄露。
1.引用类型的实例总是存放在堆内存中,而引用类型的变量(也就是指针),它的值是一个内存地址;
2.值类型的变量与指针总是放在它们被声明的地方,比如我们知道方法执行是在栈上进行的,如果该方法中声明了某个值类型的变量,则该变量就在栈上;如果一个值类型变量在方法体外被声明,
且存在于一个引用类型中,那么该变量就在堆内存上。