1.1 什么是 C#
C#(读作 “C Sharp”)是由微软公司于 2000 年发布的一种现代、面向对象、类型安全的编程语言。它由 Anders Hejlsberg 领导开发,是 .NET 平台的核心语言。
C# 的核心优势
- 类型安全:编译时检查类型错误,减少运行时异常
- 面向对象:支持封装、继承、多态等 OOP 特性
- 跨平台:通过 .NET Core/.NET 5+ 可在 Windows、macOS、Linux 运行
- 现代语法:持续更新,支持 LINQ、异步编程、模式匹配等
- 强大生态:丰富的标准库、NuGet 包管理器、Visual Studio IDE
- 广泛应用:Web 开发、桌面应用、游戏开发(Unity)、移动应用、云服务
C# 的应用领域
| 领域 |
代表框架/工具 |
| Web 开发 |
ASP.NET Core, Blazor |
| 桌面应用 |
WPF, WinForms, MAUI |
| 游戏开发 |
Unity3D, Godot (C# 支持) |
| 移动应用 |
Xamarin, MAUI |
| 云服务 |
Azure Functions, Microservices |
| 机器学习 |
ML.NET, TensorFlow.NET |
1.2 .NET 平台简介
.NET 发展历程
| 版本 |
发布时间 |
特点 |
| .NET Framework |
2002 |
仅支持 Windows |
| .NET Core |
2016 |
跨平台、开源、高性能 |
| .NET 5+ |
2020 |
统一平台,每年大版本更新 |
| .NET 8 |
2023 |
LTS 版本,性能大幅提升 |
选择 .NET 版本
- 初学者:推荐 .NET 8 LTS(长期支持)
- 企业项目:选择最新 LTS 版本
- Unity 开发:使用 Unity 内置的 .NET 版本
1.3 开发环境搭建
安装 .NET SDK
- 访问 .NET 官网
- 下载 .NET 8 SDK(推荐 LTS 版本)
- 运行安装程序,按提示完成安装
- 打开终端验证安装:
选择编辑器
| 编辑器 |
特点 |
适用场景 |
| Visual Studio 2022 |
功能最全、调试强大 |
Windows 桌面开发、大型企业项目 |
| VS Code |
轻量、跨平台、插件丰富 |
日常开发、跨平台项目 |
| JetBrains Rider |
智能提示优秀、跨平台 |
专业 .NET 开发者 |
VS Code 配置
- 安装 C# Dev Kit 扩展
- 安装 .NET Install Tool
- 重启 VS Code 即可开始开发
1.4 第一个 C# 程序
使用命令行创建
1 2 3 4 5 6 7 8
| dotnet new console -n HelloWorld
cd HelloWorld
dotnet run
|
项目结构
1 2 3 4
| HelloWorld/ ├── HelloWorld.csproj # 项目文件 ├── Program.cs # 主程序文件 └── obj/ # 编译输出目录
|
Program.cs 代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| using System;
namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); } } }
Console.WriteLine("Hello, World!");
|
代码解析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| using System;
namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello, World!"); } } }
|
1.5 编译与运行
常用 dotnet 命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| dotnet new console -n MyProject
dotnet build
dotnet run
dotnet publish -c Release
dotnet add package Newtonsoft.Json
dotnet --help
|
编译过程
- 编写代码:
.cs 文件
- 编译:
csc 编译器将代码编译为 IL(中间语言)
- JIT 编译:运行时将 IL 编译为机器码
- 执行:CLR(公共语言运行时)执行程序
1.6 C# 代码规范
命名约定
| 类型 |
规范 |
示例 |
| 类/方法 |
PascalCase |
UserService, CalculateTotal |
| 变量/参数 |
camelCase |
userName, totalCount |
| 常量 |
UPPER_CASE |
MAX_SIZE, API_KEY |
| 接口 |
I + PascalCase |
IRepository, IDisposable |
| 私有字段 |
_camelCase |
_userRepository, _config |
代码风格示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| using System;
namespace CodeStyleExample { public class UserService { private readonly string _apiKey; public string AppName { get; set; } private const int MAX_RETRIES = 3; public UserService(string apiKey) { _apiKey = apiKey ?? throw new ArgumentNullException(nameof(apiKey)); } public void ProcessData(int[] data) { if (data == null || data.Length == 0) { Console.WriteLine("数据为空"); return; } foreach (var item in data) { Console.WriteLine($"处理: {item}"); } } } }
|
1.7 本章小结
- C# 是现代、类型安全、面向对象的编程语言
- .NET 平台支持跨平台开发,推荐 .NET 8 LTS
- 使用
dotnet new console 创建项目,dotnet run 运行
- 遵循命名约定和代码规范提高可读性
- Visual Studio 和 VS Code 是主流开发工具
练习题
- 安装 .NET 8 SDK 并验证版本
- 使用
dotnet new console 创建项目并输出你的姓名
- 尝试修改 Program.cs,输出三行不同的文本
- 以下代码输出什么?
1 2 3
| Console.WriteLine("Hello"); Console.Write("World"); Console.Write("!");
|