C#基础学习札记

生态

.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#方法表看透方法调用的本质

虚函数的overridenew

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

你可能感兴趣的:(C#基础学习札记)