C#基础(1).net Frame 环境及变量存储

    关于.net学习已经持续了一段时间,从一开始看书看视频,到现在可以进行一些小应用开发总一下总结。本人新手上路,若有理解不到之处,欢迎指教。


1:关于.net

    1.1源码执行的基本过程

           1:源码编译器生成程序集文件,一般为.EXE可执行文件和.DLL文件,此时代码并不能直接被机器执行,而是一种公共中间语言(CIL:Common Intermediater)。

           2:当CIL代码被调用时,(CLR: Common Language Runtime)公共语言运行时会检查程序集的安全特性,分配内存,并把CIL代码发送给实时编译器(JIT: Just In Time)生成本机代码。

    1.2 CIL,CLR说明

        CLR包括什么:JIT,垃圾收集(GC:Garbage Collection),内存管理,异常处理,基础类库(BCL:Base Class Libary),类加载器,反射服务,安全服务。

        正因为有CLR,所以像内存释放等一些工作自动帮你完成了,所以针对.net框架编写的运行在CLR控制下运行的代码也称为托管代码(其中数据库连接,文件读写是需要自己释放的)

       不仅仅C#,VB,VBS等都可以被编译成CIL代码,由CLR执行。但C#是专门为.net开发的语言。这也是之前总是搞不清C#和.net 的区别。C#一种语言,.net是一种技术框架。C#是针对.net开发的语言

       .net Framwork 是一个包含各种功能的类库   VS(Visual Studio)则是集成开发环境(IDE),用于代码编写调试。


2:C#语言

     2.1 数据类型,变量,存储

         2.1.1 数据类型

                

         2.1.2 数据存储

                  堆和栈:栈是一个内存数组(后进先出),堆是一个内存区域(任意存入移除),值类型数据存储在栈中,引用类型存储在堆中。

                  静态变量static:在编译时已经确定数据类型且不能修改类型。和const不同。

                  String是引用类型,字符串的任何改变会生成一个新的字符串。StringBuilder可以动态改变一个字符串

   

        

   


猜你喜欢

转载自www.cnblogs.com/DRgogo/p/11037602.html