C# 与 .NET 入门:构建现代应用
欢迎来到 C# 与 .NET
C#(读作“C sharp”)是微软推出的一种现代、面向对象、类型安全的编程语言。它的语法简洁优雅,借鉴了C、C++和Java的优点,同时提供了强大的开发效率。.NET 则是一个免费、开源、跨平台的开发框架,支持用 C# 构建各种类型的应用:桌面软件、Web 应用、移动端应用、云端微服务、游戏和人工智能等。C# 与 .NET 的结合,能让开发者用一套工具体系快速交付高性能的现代应用。
安装开发环境
要开始 C# 开发,你只需安装一套轻量级的命令行工具,或功能丰富的集成开发环境(IDE)。
安装 .NET SDK
前往 dotnet.microsoft.com 下载对应操作系统的 .NET SDK(软件开发工具包)。SDK 包含了运行时、编译器及项目模板。安装完成后打开终端(命令提示符、PowerShell 或 bash),输入以下命令验证安装:
dotnet --version
如果返回版本号(如 8.0.100),说明安装成功。
选择代码编辑器
- Visual Studio Code:轻量、跨平台,安装 C# Dev Kit 扩展后可获得智能感知和调试支持。
- Visual Studio:功能最全面的 IDE,适合 Windows 环境,社区版免费。
- JetBrains Rider:商业跨平台 IDE,提供卓越的代码分析和重构工具。
- 你也可以直接使用任何文本编辑器,配合终端使用
dotnet命令。
创建你的第一个项目
打开终端,执行以下命令新建一个控制台应用:
dotnet new console -n HelloWorld
cd HelloWorld
这会生成一个名为 HelloWorld 的文件夹,里面包含 .csproj 项目文件和 Program.cs 源代码文件。
打开 Program.cs,你将看到如下代码:
Console.WriteLine("Hello, World!");
运行项目:
dotnet run
终端将输出 Hello, World!。这就完成了你的第一个 C# 程序。
C# 基础语法速览
掌握以下核心语法,你就能开始编写真正的逻辑。
变量与数据类型
C# 是静态类型语言,变量需要先声明类型才能使用。常用内置类型:
| 类型 | 说明 | 示例 |
|---|---|---|
int |
整数 | int age = 25; |
double |
浮点数 | double price=9.99; |
bool |
布尔值 | bool isReady = true; |
string |
字符串 | string name = "Alice"; |
char |
单个字符 | char grade = 'A'; |
C# 也支持用 var 关键字进行类型推断,编译器会自动推导类型:
var message = "Hello"; // 等价于 string message = "Hello";
运算符与表达式
基本算术运算符:+ - * / %,比较和逻辑运算符:== != > < && || !。字符串拼接可以使用 + 或字符串插值(更推荐):
string name = "World";
Console.WriteLine($"Hello, {name}!"); // 输出:Hello, World!
控制流程
使用 if-else 实现条件分支:
if (score >= 90)
Console.WriteLine("优");
else if (score >= 60)
Console.WriteLine("及格");
else
Console.WriteLine("不及格");
循环结构包括 for、while 和 foreach:
for (int i = 0; i < 5; i++)
Console.WriteLine(i);
string[] fruits = {"苹果", "香蕉", "橘子"};
foreach (var fruit in fruits)
Console.WriteLine(fruit);
面向对象编程(OOP)基础
C# 是纯粹的面向对象语言,所有代码都组织在类(class)中。理解 OOP 是构建复杂应用的关键。
定义类与创建对象
类由字段(fields)、属性(properties)和方法(methods)组成:
public class Person
{
// 自动属性
public string Name { get; set; }
public int Age { get; set; }
// 构造函数
public Person(string name, int age)
{
Name = name;
Age = age;
}
// 方法
public void Introduce()
{
Console.WriteLine($"我叫 {Name},今年 {Age} 岁。");
}
}
// 使用类
var person = new Person("张三", 28);
person.Introduce();
继承与多态
通过 : 实现继承,子类可以重写父类的虚方法以表现出不同行为:
public class Student : Person
{
public string School { get; set; }
public Student(string name, int age, string school) : base(name, age)
{
School = school;
}
public override void Introduce()
{
Console.WriteLine($"我叫 {Name},在 {School} 上学。");
}
}
使用基类引用指向子类对象,即可实现多态。
.NET 的核心库与命名空间
.NET 本身提供了海量的现成功能,组织在不同的命名空间中。要使用库中的类,只需用 using 引入:
System:基本类型和常用功能(Console,String,DateTime等)System.Collections.Generic:泛型集合(List<T>,Dictionary<TKey,TValue>)System.IO:文件输入输出System.Linq:语言集成查询,用于数据操作System.Net.Http:发送 HTTP 请求
例如,读取文件的所有行:
using System.IO;
var lines = File.ReadAllLines("data.txt");
foreach (var line in lines)
Console.WriteLine(line);
实战:编写一个控制台计算器
合并前面学到的知识,我们来构建一个简单的命令行计算器,支持加减乘除。
using System;
class Calculator
{
static void Main()
{
Console.WriteLine("简易计算器");
Console.Write("请输入第一个数字:");
double num1 = Convert.ToDouble(Console.ReadLine());
Console.Write("请输入运算符 (+, -, *, /):");
string op = Console.ReadLine();
Console.Write("请输入第二个数字:");
double num2 = Convert.ToDouble(Console.ReadLine());
double result = op switch
{
"+" => num1 + num2,
"-" => num1 - num2,
"*" => num1 * num2,
"/" when num2 != 0 => num1 / num2,
"/" => double.NaN,
_ => double.NaN
};
Console.WriteLine($"计算结果:{result}");
}
}
保存为 Program.cs,使用 dotnet run 运行。这个例子包含了输入输出、类型转换、switch 表达式和异常防范——是初学者最好的练习。
现代应用构建的一瞥
.NET 远不止控制台程序。掌握了 C# 基础后,你可以向以下方向拓展:
ASP.NET Core Web 应用
使用 C# 创建高性能 Web API 或动态网站。通过内置模板,几分钟就能启动一个 Web 服务:
dotnet new webapi -n MyWebApi
随后即可处理 HTTP 请求、连接数据库、实现身份验证等。
Blazor 前端开发
想让 C# 运行在浏览器中?Blazor 允许你使用 C# 代替 JavaScript 构建交互式 Web UI。它通过 WebAssembly 或服务器端渲染实现,无需学习另一门语言就能完成全栈开发。
跨平台桌面应用
使用 .NET MAUI 或 Avalonia UI,一套 C# 代码可以同时生成 Windows、macOS、Linux 的桌面程序。移动端应用(Android/iOS)同样由 MAUI 覆盖。
云原生与微服务
.NET 为容器化部署提供了极致优化,配合 Azure 云服务或 Kubernetes,可以轻松构建可扩展的分布式系统。
下一步学习建议
- 深入 C# 特性:学习委托、事件、异步编程(
async/await)、LINQ 查询、泛型和模式匹配等高级语法。 - 掌握 .NET 框架:阅读官方文档,熟悉 Entity Framework Core(数据库操作)、Dependency Injection(依赖注入)和配置系统。
- 动手做项目:从待办事项列表、天气查询命令行工具或博客系统开始,将知识转化为实践。
- 查阅资源:
- Microsoft Learn C# 教程
- .NET 官方示例仓库
- 在线编码平台如 exercism.io 的 C# 轨道
保持编码习惯,每天写一点代码。C# 与 .NET 生态能承载你从初学者到专业开发者的完整技术成长路线。