生态
.NET Framework是由公共语言运行库(Common Language Runtime,CLR)、. NET Framework类库和应用负载(WPF、Windows Forms和ASP.NET)所组成。其中,CLR是通用基础架构的一部分,既可以运行代码,又可以执行JIT(just-in-time)、以及垃圾回收(C#、VB.NET、F#)等。
由CLR管理的代码被称为托管代码。这些代码被编译为通用中间语言(Common Intermediate Language,CIL),并存储在扩展名为.exe或.dll的程序集中。当应用程序运行时,CLR会执行汇编,并使用JIT编译器将机器代码转换为可以在特定计算架构上运行的代码。
image.png
C#内存管理
栈/托管堆/非托管堆/垃圾回收
C#内存管理
理解Unity中的优化(五):托管堆
C#的装箱和拆箱,值类型和引用类型
深入理解C#的装箱和拆箱、使用非泛型集合时引发的装箱和拆箱操作
C#方法调用
GetMethods
/MethodInfo
/Invoke
/Expression.Call
从C#方法表看透方法调用的本质
虚函数的override
和new
virtual
/override
/new
,声明类、实例类
实例讲解override和new的区别
委托
delegate
: 0~32个参数,返回值没限制
Action
: 0~16个参数,无返回值
Func
: 0~16个参数,有返回值
predicate
: 1个参数,返回值为bool
类型
C#委托的介绍(delegate、Action、Func、predicate)
IL指令
读懂IL代码就这么简单(一)
Evaluation Stack
/Local Variable Table
IL指令详细
JIT
/AOT
: Just-in-time/Ahead-of-time
网友评论