刘铁猛C#教程笔记——详解类型,变量,和对象第1节

强/弱类型语言

  1. 强类型语言:所谓强类型语言就是变量的值十分依赖变量的类型,也就是说假如一个变量其类型是整型,那么你在为该整型变量进行赋值的时候就不可以为其赋值一个字符串类型的常量,C#语言就是典型的强类型语言
  2. 弱类型语言:所谓弱类型语言,是变量的值不依赖于变量的类型或者说和变量的类型没有关系,典型的比如python语言,假设我们声明了一个变量a,刚开始时我们为其赋值:a=10;之后我们又为其赋值另外一种类型的常量,如字符串类型常量,a="hello",这是可以的,也就是说,对于一个变量我们可以为其赋值任意一种类型的常量,这就是弱类型语言,而C#语言也有实现类似于弱类型语言的这种特性的机制,如声明一个dynamic类型的C#变量c,那么就可以为变量c赋值任意一种类型的常量;

C#语言中类型的作用

  1. 类型可以指明一个变量再内存中的存储容量,比如int类型,其在内存中占据4字节的空间,而long类型,其在内存中占据8字节大小的空间
  2. 指明变量可以进行的操作,如整型可以进行加减乘除,字符串类型可以进行连接,转换大小写操作等
  3. 指明其基类都有哪些
  4. 指明其具有那些成员(属性,方法,事件等)
  5. 指明此类型的值的最大值和最小值
  6. 指明其存放在内存中的哪块空间里面(是存放在堆heap空间中,还是存放在栈空间中)  

堆空间和栈空间


  1. 静态程序和动态程序:所谓静态程序就是没有运行的程序,即在编辑器和编译器中存在的程序就是静态程序,而动态程序是指,当我们编译好程序进行运行或者debug的时候的程序就是动态程序,静态程序存放在外存磁盘上,而动态程序是存放在内存空间中的
    当我们运行程序的时候,首先要从硬盘中将程序读取到内存中,读取到内存中运行的程序既叫做动态程序,也叫做进程 ,程序读取到内存中需要解决其存储问题,程序将内存分为两块区域,一个区域是栈(stack)空间,一个区域是堆(heap)空间,程序中出现的方法存放于栈空间中,而实例对象存放在堆空间中,栈空间比较小,若我们的程序算法不当就会造成栈溢出,而堆空间的容量相对较大,但是当我们给对象分配堆空间,用完之后却不释放该堆内存的话就会造成内存泄漏;C#有很好的垃圾回收机制会自动的在合适的时间帮我们回收被对象占用的堆空间;
  2. 查看进程占用的堆空间的容量的变化情况的方法

    按住windows+r,打开运行窗口,输入perfmon(performance monitor),按住enter键,进入如下界面刘铁猛C#教程笔记——详解类型,变量,和对象第1节_第1张图片

    点击性能监视器刘铁猛C#教程笔记——详解类型,变量,和对象第1节_第2张图片 

    此时显示的是cpu的占有率即cpu的忙碌时间占比,我们想要查看某个进程占据的堆空间的容量大小变化情况的话,可以:点击面板上红色的X,然后再点击面板上的+号进入如下界面刘铁猛C#教程笔记——详解类型,变量,和对象第1节_第3张图片在计数器选项下拉列表中找到prosess,点击process,然后再从process的下拉列表中找到private bytes,private bytes就是指进程占用的堆空间,然后再在对象中选择你想要观察的进程对象,点击添加->确定即可。刘铁猛C#教程笔记——详解类型,变量,和对象第1节_第4张图片

    刘铁猛C#教程笔记——详解类型,变量,和对象第1节_第5张图片

     祝学习进步,生活愉快!!

你可能感兴趣的:(c#,笔记)