Skip to content

C# - 程序结构

在深入了解 C# 的构建块之前,理解程序的基本结构至关重要。这将为你学习所有概念奠定基础。

从 C# 9 开始,你可以编写简单的程序,而无需显式定义 namespace(命名空间)、class(类)或 Main 方法。这被称为顶级语句(top-level statements),非常适合学习、编写脚本和小型工具程序。

这是现代 C# 的“Hello, World!”程序:

// 这是一个完整的 C# 程序!
using System;
Console.WriteLine("Hello, Modern C# World!");
// 你可以直接定义变量和调用方法。
var name = "Alice";
Console.WriteLine($"Hello, {name}!");

编译器在幕后自动生成必要的类和 Main 方法入口点。这种结构极大地简化了 C# 编程的入门过程。

对于更大、组织更良好的应用程序,会使用传统的结构。这种结构显式定义了 C# 程序的关键组件。

// 1. using 指令:导入命名空间
using System;
// 2. 命名空间:组织你的代码
namespace HelloWorldApplication
{
// 3. 类:包含数据和方法
class Program
{
// 4. Main 方法:应用程序的入口点
static void Main(string[] args)
{
// 5. 语句:要执行的指令
Console.WriteLine("Hello, Structured C# World!");
}
}
}
  • using 指令: using 关键字用于导入命名空间,让你无需编写完整名称即可访问其类型(例如,System.Console.WriteLine 变为 Console.WriteLine)。C# 10 引入了 global using,可以将指令应用于项目中的所有文件。
  • 命名空间(Namespace): 命名空间是一个容器,用于组织一组相关的类、结构(struct)、接口(interface)等。它有助于防止大型项目中的命名冲突。你可以把它想象成代码的文件夹。
  • 类(Class): 类是创建对象的蓝图。它将数据(字段、属性)和行为(方法)打包成一个独立的单元。
  • Main 方法: 这是每个 C# 应用程序的入口点。当你运行程序时,Main 方法是第一个被执行的代码。它必须是 static(静态)的。
  • 语句与表达式(Statements & Expressions): 语句是一个单个动作,如方法调用或变量声明。C# 中的每个语句都必须以分号(;)结束。
  • 注释(Comments): 使用 // 用于单行注释,使用 /* ... */ 用于多行注释。注释会被编译器忽略,用于解释代码。

一个结构良好的程序更易于阅读、调试和维护。请遵循以下行业最佳实践:

  • 有意义的命名: 为变量、方法和类使用描述性名称。遵循 .NET 命名约定:类和方法使用 PascalCase,局部变量使用 camelCase。
  • 单一职责: 每个方法和类都应该有一个明确的目的。
  • 代码缩进: 正确的缩进使代码的结构在视觉上更清晰。
  • 独立文件: 将每个类保存在自己的文件中(例如,Student.cs,Course.cs),以保持项目井然有序。

这里有一个包含两个类的示例,每个类都位于其逻辑位置。

// 文件:Student.cs
namespace School.Management;
public class Student
{
public string Name { get; set; } = string.Empty;
public int Id { get; set; }
public void DisplayInfo()
{
Console.WriteLine($"Student ID: {Id}, Name: {Name}");
}
}
// 文件:Program.cs
using System;
using School.Management; // 导入命名空间
class Program
{
static void Main()
{
var student1 = new Student
{
Id = 1,
Name = "Alice"
};
student1.DisplayInfo();
}
}

当上述代码被编译并执行时,会产生以下结果:

Student ID: 1, Name: Alice

构建 C# 应用程序的现代方式是使用 .NET 命令行界面(CLI),它在 Windows、macOS 和 Linux 上均可运行。Visual Studio 和 VS Code 在幕后都使用此工具链。

  1. 安装 .NET SDK: 从微软官方网站下载。
  2. 创建新项目: 打开终端或命令行提示符,运行 dotnet new console -o MyFirstApp。这会创建一个名为 MyFirstApp 的新文件夹,其中包含一个基本的控制台项目。
  3. 进入目录: cd MyFirstApp。
  4. 编写代码: 在文本编辑器(如 VS Code)中打开 Program.cs 文件并编写你的代码。
  5. 运行项目: 在终端中,只需运行 dotnet run。CLI 将编译并执行你的应用程序。

要记住的关键点:

  1. C# 区分大小写(name 和 Name 是不同的变量)。
  2. 程序执行始终从 Main 方法(或顶级语句的第一行)开始。
  3. 与 Java 不同,C# 文件名不需要与类名匹配。