1程序由哪几块组成
一个 C# 程序主要有:命名空间(装一组类的“大托盘”)、类、类的方法和属性(后面会讲)、Main 方法,以及语句、表达式和注释。C# 的源代码文件后缀是 .。
2最小的例子
这个程序放在 Program.cs 里,只做一件事:在屏幕上打出 Hello World,然后停住,等你按一个键。
查看完整代码(13 行)
| 1 | using System; | // 引入 System 命名空间,后面可以直接写 Console |
| 2 | namespace HelloWorldApplication | // 命名空间 HelloWorldApplication,装着下面的类 |
| 3 | { | // HelloWorldApplication 命名空间开始 |
| 4 | class HelloWorld | // 定义 HelloWorld 类 |
| 5 | { | // HelloWorld 类开始 |
| 6 | static void Main(string[] args) | // Main 方法:程序的入口 |
| 7 | { | // Main 开始 |
| 8 | /* 我的第一个 C# 程序*/ | // 注释,写给人看,编译器跳过 |
| 9 | Console.WriteLine("Hello World"); | // 在屏幕上显示 Hello World |
| 10 | Console.ReadKey(); | // 等按任意键(现在的 VS 不写也会停住) |
| 11 | } | // Main 结束 |
| 12 | } | // HelloWorld 类结束 |
| 13 | } | // HelloWorldApplication 命名空间结束 |
Hello World
下面从外往里,一层一层拆开看。
3using 和命名空间
| 1 | using System; | // System 是 .NET 自带的命名空间,里面有 Console 等现成的类 |
| 2 | namespace HelloWorldApplication | // namespace 声明命名空间,像一个大托盘装着一组类 |
| 3 | { | // HelloWorldApplication 命名空间开始 |
| 4 | class HelloWorld | // 托盘里装着 HelloWorld 这个类 |
写了 using System;,后面就能直接写 Console,不用写全名 System.。一个程序里可以有好几条 using。
4类和 Main 方法
类里放数据,也放方法(一组完成某件事的语句),方法规定了这个类能做什么。这个例子没有属性,只有一个方法 Main,它是程序的入口,程序从这里开始执行。
| 6 | static void Main(string[] args) | // void 表示不返回值;static、args 后面会讲 |
5注释和语句
| 8 | /* 我的第一个 C# 程序*/ | // 用 /* */ 包起来的是注释,编译器直接跳过 |
| 9 | Console.WriteLine("Hello World"); | // System 命名空间里 Console 类的方法:把括号里的文字显示在屏幕上 |
| 10 | Console.ReadKey(); | // 等按任意键(现在的 VS 不写也会停住) |
现在的 Visual Studio 程序跑完窗口会自己停住,所以 Console. 这一行可以不写,写了也没错。
合起来:命名空间装着类,类装着 Main,Main 里的语句从上往下一条一条执行。
6四条规矩
1. 区分大小写
| 9 | console.WriteLine("Hello World"); | // 把 Console 写成了小写 console |
Program.cs(9,10): error CS0103: 当前上下文中不存在名称“console”
2. 语句用分号结尾
| 9 | Console.WriteLine("Hello World") | // 删掉了行末的分号 |
Program.cs(9,42): error CS1002: 应输入 ;
namespace、class 这几行和大括号后面不加分号。
3. 程序从 Main 开始
| 6 | static void main(string[] args) | // 把 Main 写成了小写 main,找不到入口 |
CSC : error CS5001: 程序不包含适合于入口点的静态 "Main" 方法
4. 文件名可以和类名不一样
上面这个例子实际就放在 Program.cs 里,类名却叫 HelloWorld,照样输出 Hello World。这一点和 Java 不同。
7在 Visual Studio 里运行
下面按中文版 Visual Studio 2026 来走:
- 点“创建新项目”,选“控制台应用”,点“下一步”。
- 给项目起个名字,再点“下一步”。
- 新模板默认是简写,看不到 Main;想要和例子一样的写法,就勾上“不使用顶级语句”,点“创建”。
- 项目出现在“解决方案资源管理器”里;在编辑器里写好代码,按 F5 运行,弹出的控制台窗口里就是 Hello World。
8在命令行里运行
只装 .NET SDK 的话,命令行里没有 csc 这个命令(教程的说法已过时)。现在的做法是:
dotnet new console建一个项目。- 把代码放进项目的 Program.cs。
- 输入
dotnet run,它会先编译、再运行。
Hello World
9小结
- 命名空间套着类,类里有 Main,程序从 Main 开始,一条一条执行语句。
- 区分大小写;语句用分号结尾;入口必须是
Main;文件名可以和类名不同。
下一节:类里除了 Main,还能放些什么?用一个矩形类来看 C# 的基本语法。
