C#基础.net Frame 环境及变量存储
Posted drgogo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#基础.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可以动态改变一个字符串
以上是关于C#基础.net Frame 环境及变量存储的主要内容,如果未能解决你的问题,请参考以下文章