.NET概述 #
一、.NET平台简介 #
1.1 什么是.NET #
.NET是微软开发的开发平台,支持构建各种类型的应用程序。
1.2 .NET历史 #
| 版本 | 年份 | 说明 |
|---|---|---|
| .NET Framework | 2002 | Windows专用 |
| .NET Core | 2016 | 跨平台 |
| .NET 5+ | 2020 | 统一平台 |
二、.NET架构 #
2.1 架构组成 #
text
应用程序
↓
.NET类库 (BCL)
↓
运行时 (CLR)
↓
操作系统
2.2 核心组件 #
| 组件 | 说明 |
|---|---|
| CLR | 公共语言运行时 |
| BCL | 基类库 |
| Roslyn | C#编译器 |
| NuGet | 包管理器 |
三、公共语言运行时(CLR) #
3.1 CLR功能 #
- 内存管理
- 类型安全
- 异常处理
- 垃圾回收
- JIT编译
3.2 垃圾回收 #
csharp
public class Example
{
public void CreateObjects()
{
for (int i = 0; i < 1000; i++)
{
var obj = new LargeObject();
}
}
}
GC.Collect();
GC.WaitForPendingFinalizers();
3.3 内存代 #
| 代 | 说明 |
|---|---|
| Gen 0 | 短期对象 |
| Gen 1 | 缓冲区 |
| Gen 2 | 长期对象 |
四、基类库(BCL) #
4.1 常用命名空间 #
| 命名空间 | 说明 |
|---|---|
| System | 基本类型 |
| System.Collections | 集合 |
| System.IO | 输入输出 |
| System.Linq | LINQ查询 |
| System.Net | 网络 |
| System.Threading | 多线程 |
4.2 常用类型 #
csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Threading.Tasks;
int number = 42;
string text = "Hello";
var list = new List<int>();
var query = list.Where(x => x > 0);
五、.NET SDK #
5.1 SDK组成 #
- 编译器
- 运行时
- 工具
- 模板
5.2 常用命令 #
bash
dotnet new console -n MyApp
dotnet build
dotnet run
dotnet publish -c Release
dotnet test
dotnet add package Newtonsoft.Json
六、跨平台支持 #
6.1 支持平台 #
- Windows
- macOS
- Linux
- Docker
6.2 发布选项 #
bash
dotnet publish -r win-x64
dotnet publish -r linux-x64
dotnet publish -r osx-x64
dotnet publish -r win-x64 --self-contained
七、总结 #
.NET要点:
| 要点 | 说明 |
|---|---|
| CLR | 运行时 |
| BCL | 类库 |
| SDK | 开发工具 |
| 跨平台 | Win/Mac/Linux |
下一步,让我们学习NuGet包管理!
最后更新:2026-03-26