C#基础知识

.Net和C#(面向对象)是什么关系?
答:C#基于.Net开发.
什么是框架?
框架是整个或部分系统的可重用设计,表现为一组抽象构件实例间交互的方法;另一种定义认为,框架是可被应用开发者制定的应用骨架。前者从应用方面而后者是从目的方面给出的定义。
.net框架的优点?(
C#不能跨平台,只能在.net框架中使用)
多平台(跨平台)----Unity支持跨平台吗?
支持(Mono,其实是第三方的.net框架实现)
2017之前跨平台的原因:
采用行业标准通信协议、提供安全的执行环境
Class A{ }=>.net= = =>IL中间语言=>JIT编译器==>本机代码(计算机指令集)===>操作系 统处理
VS :BCL(base Class Library) 基类库
CLR的作用:
1.内存管理-----自动向操作系统申请一批内存2. 垃圾回收------GC3. 代码安全验证------是否安全4. 代码执行5. 线程管理-----开辟线程,关闭线程等6. 异常处理------错误信息返回7. 程序及加载-----调用程序集
C#代码编译成CIL(动态链接库)?
程序集要么是可执行,要么是DLL2. 程序集的代码不是本机代码(不是计算机指令集),CIL(Common intermediate Laguae)中间语言(IL 、MSIL、Microsoft intermediate Laguage)
程序集包含什么东西呢?
1.程序集的中间语言CIL2. 程序中使用的类型数据3. 程序中使用的程序集引用的元数据
程序的CIL直到被调用才能编译成计算机指令CI-----即时编译器CIR开始工作,先检查程序集的安全性在内存中分配间,把程序集中可执行代码发送给实时编译器(JIT编译器),把另外的一分直接编译成计算机指令集JIL(just- In-Time)实时编译器
CLR背后做的事情? 管理CIL中间语言,释放无用内存,检查数组边界,检查参数类型,管理异常。托管代码:CLR为我们管理的代码,为.net框架编写的代码,需要CLR的。非托管代码:C++.Java.文件流,C++DLL。不在CLR控制下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值