.NET类在System开头的命名空间:
| 命名空间 | 说明 |
|---|---|
| System.Collections | 集合的根命名空间。子命名空间也包含集合,如System.Collections.Concurrent, System.Collections.Generic |
| System.Data | 访问数据库的命名空间,System.Data.SqlClient子命名空间包含访问SQL Server的类 |
| System.Diagnostics | 诊断信息,如事件记录和跟踪 (在System.Diagnostics.Tracing) |
| System.Globalization | 全球化和本地化应用程序 |
| System.IO | 文件IO, 访问文件和目录,包括reader, writer, stream |
| System.NET | 核心网络,如访问DNS服务器,用System.Net.Sockets创建套接字 |
| System.Threading | 线程和任务,Task在System.Threading.Tasks中定义 |
一些新的.NET类在Microsoft 开头的命名空间,举个栗子:
| 命名空间 | 说明 |
|---|---|
| Microsoft.EntityFrameworkCore | 用于Entity Framework Core |
| Microsoft.Extensions.DependencyInjection | 用于依赖注入 |
公共语言运行库(Common Language Runtime)
- UWP利用Native.NET,通过AOT Complier把IL编译成本地代码。它不是使用CLR来完成这件事的。
- 使用
.NET Framework的应用程序,通过CLR把IL编译成本地代码 - 使用
.NET Core的应用程序,通过CoreCLR把IL编译成本地代码
CLR:
- 负责在运行时将IL编译为特定于平台的本地代码
- 它包含一个类型系统,这个类型系统还带有
- 一个类型加载器。类型加载器负责从程序集中加载类型。
- 安全基础设施,验证是否允许使用某些类型系统结构,如继承
- 垃圾回收,垃圾回收器从托管堆中清除不再引用的内存
- 线程处理, 在c#中创建托管线程的不一定来自底层操作系统。线程的虚拟化和管理由CLR负责
IL是在.NET程序集中的一种中间语言。
RyuJIT, 新JIT编译器。
- 比之前的版本快
- 用VS调试时更好地支持Edit&Continue功能(调试时编辑代码,可继续调试会话,而不需要停止并重启进程)。