1.类型
又名数据类型,是性质相同的值的集合,并且有自己一套专门的操作运算。 内存是程序运行的区域,数据放在内存中。
(1)类型在c#中的作用
·存储此类型变量所需要的内存空间大小。比如说此时类型是int类型,那我们就会知道这个变量占用的内存大小。
·可以知道此类型的值的最小最大范围。
(2)程序的静态和动态:就是说程序未运行起来的时候是静态,这个程序运行起来的时候就是动态的。(不是我们一般说的 那种加static的静态)当我们运行一个程序的时候可以说这个程序从静态向动态进行转换。
(3)堆和栈的简介
程序运行起来之后会把内存分成2个区域,一个是栈,一个是堆。栈是给方法调用的,堆是存放对象实例的。栈很小只有2M左右,但是很快,堆可以达到几个G。当算法没写好或者程序有错误的时候,会造成栈溢出。对于堆来说不会出现溢出的问题,但是如果我们任意的在往堆上分配对象,没有释放,会造成内存的浪费,一般称为内存泄漏。
如下面的方法,展示了栈溢出的情况,一直调用BadMethod方法,一直往栈中插入值。
namespace TestClass { class Program { static void Main(string[] args) { Bad bad = new Bad(); bad.BadMethod(); Console.ReadKey(); } } class Bad { public void BadMethod() { int x = 1; this.BadMethod(); } } }