C# 与 .NET 入门:构建现代应用

FreeGuideOnline 最新 2026-06-13

欢迎来到 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("不及格");

循环结构包括 forwhileforeach

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 MAUIAvalonia UI,一套 C# 代码可以同时生成 Windows、macOS、Linux 的桌面程序。移动端应用(Android/iOS)同样由 MAUI 覆盖。

云原生与微服务

.NET 为容器化部署提供了极致优化,配合 Azure 云服务或 Kubernetes,可以轻松构建可扩展的分布式系统。

下一步学习建议

  1. 深入 C# 特性:学习委托、事件、异步编程(async/await)、LINQ 查询、泛型和模式匹配等高级语法。
  2. 掌握 .NET 框架:阅读官方文档,熟悉 Entity Framework Core(数据库操作)、Dependency Injection(依赖注入)和配置系统。
  3. 动手做项目:从待办事项列表、天气查询命令行工具或博客系统开始,将知识转化为实践。
  4. 查阅资源

保持编码习惯,每天写一点代码。C# 与 .NET 生态能承载你从初学者到专业开发者的完整技术成长路线。