.NET微软文档:https://learn.microsoft.com/zh-cn/dotnet/standard/glossary
C#微软文档:https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/
百度网盘离线文档中文版: https://pan.baidu.com/s/1Vto65ibHoozMylSg_BUeuQ?pwd=ACAC
离线文档:
不确定的疑问看文档,以下基础内容可能存在错误,为本人提炼,下班完成,尝试短期掌握C#开发部分,工作环境大变化,准备自学开润,目标过完年开始海投。
.NET是免费、开源、跨平台的开发框架,用于构建新式应用和云服务。Microsoft在 .NET 平台上提供 3 种语言 - C#、F# 和 Visual Basic。

BCL:Base,基类库
CLR:Common,公共语言运行时,为一种虚拟机。
GC: garbage,垃圾自动回收机制
什么是托管和非托管代码?
官网截图:

简单说区分关键是否在CLR执行。
OOP思想:通过类型(Class)和对象(Object)模拟现实世界,类型代表抽象分类(如"工程师"),对象代表具体实例(如"黄药师")。类型可以实例化成无数个对象。
- 开发演进:
- 初期:单一对象承担多种职责(如老板身兼研发、生产、销售)
- 发展:通过定义新类型分解职责(创建操作员、销售员类型)
- 成熟:建立类型层级关系(研发部→研发部长→工程师)
.NET基元类型:

- 数值类型:
- 整数系列:
- System.SByte:有符号8位值(-128~127)
- System.Byte:无符号8位值(0~255)
- System.Int16/System.UInt16:16位有/无符号整数
- System.Int32/System.UInt32:32位有/无符号整数
- System.Int64/System.UInt64:64位有/无符号整数
- 浮点系列:
- System.Single:IEEE32位浮点
- System.Double:IEEE64位浮点
- System.Decimal:128位高精度浮点(金融计算专用)
- 整数系列:
- 其他类型:
- System.Char:16位Unicode字符
- System.Boolean:true/false布尔值
- System.String:字符数组(引用类型)
- System.Object:所有类型的基类(引用类型)
- 存储区别:
- 值类型(除String/Object外):在栈上分配内存
- 引用类型(String/Object):在堆上分配内存
值类型与引用类型的区别?
值类型存储在栈,引用类型存储在堆(地址保存在栈)。
栈内存与堆内存区别?

.NET通过值类型和引用类型分类?

区分简单:需要动态分配内存大小类型属于引用类型,其他归类到值类型。
进程与线程的概念
进程是操作系统分配资源的独立单位,线程是进程内的执行单元;一个进程至少包含一个线程,多个线程可共享数据。
堆栈(也叫栈),每个线程拥有私有堆栈空间,防止内存冲突,存储局部变量和函数参数等值类型数据。
共享堆内存,在.NET中由CLR管理托管堆(Managed Heap),使用new关键字创建的对象存储在托管堆。
科技园区比喻:将计算机比作科技园区,操作系统是管理单位,每家企业代表一个进程 (程序 )。将企业部门(研发部/生产部等)比作线程 ,每个部门有独立小金库(私有线程堆栈 )。科技园区有很多共享设备(充电桩)区域(共享堆区域 ),对共享设备资源进行争夺(资源抢夺 ),使用同步机制解决资源抢夺。
同步机制
- 互斥锁(Mutex):
- 保证同一时间只有一个线程访问共享资源
- 类似"部门借用设备需登记"的机制
- 信号量(Semaphore):
- 控制同时访问资源的线程数量
- 可设定最大并发访问数
- 应用场景:
- 多线程读写同一对象时必需
- 确保数据修改的原子性和一致性
- 防止竞争条件导致的数据异常
为何不能将所有代码放在主线程?
主线程(如UI线程)处理用户交互,耗时任务应放在子线程(Task)执行以避免卡顿,多线程可提升程序效率。
(以上2026.1.8晚上用时2h完成,为基础部分,跳过变量类型介绍,下班速刷)