404 Not Found

404 Not Found


nginx

基本语法

程序结构

一个经典的 C# 程序由 using 指令、namespace 命名空间、class 类和 Main 方法组成。

示例

CSHARP
using System;

namespace MyApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
}
▶ 试一试
TEXT
Hello, World!

语句与分号

C# 中每条语句必须以分号 ; 结尾。分号是语句的终止符,告诉编译器一条指令到此结束。缺少分号会导致编译错误。

示例

CSHARP
using System;

namespace StatementDemo
{
    class Program
    {
        static void Main()
        {
            int x = 10;
            int y = 20;
            int sum = x + y;
            Console.WriteLine(sum);
        }
    }
}
▶ 试一试
TEXT
30

代码块与大括号

代码块用大括号 { } 包裹,将多条语句组合为一个逻辑单元。命名空间、类、方法、条件语句和循环等都需要使用代码块。大括号可以嵌套使用。

CSHARP
namespace Outer
{
    namespace Inner
    {
        class MyClass
        {
            void MyMethod()
            {
                if (true)
                {
                    Console.WriteLine("nested block");
                }
            }
        }
    }
}

缩进与代码风格

良好的缩进让代码更易阅读。C# 社区推荐使用 4 个空格 缩进,大括号风格有两种:

CSHARP
class StyleA
{
    void Method()
    {
        Console.WriteLine("Allman style");
    }
}

class StyleB {
    void Method() {
        Console.WriteLine("K&R style");
    }
}
💡 Visual Studio 默认使用 Allman 风格,保持项目内风格统一最重要。

Console 输出

Console.WriteConsole.WriteLine 用于向控制台输出文本:

示例

CSHARP
using System;

namespace ConsoleDemo
{
    class Program
    {
        static void Main()
        {
            Console.Write("Hello");
            Console.Write(" ");
            Console.WriteLine("World");
            Console.WriteLine("Second line");
        }
    }
}
▶ 试一试
TEXT
Hello World
Second line

转义字符

在字符串中,某些字符需要用反斜杠 \ 转义才能正确表示:

转义字符 含义
\n 换行
\t 制表符
\\ 反斜杠
\" 双引号
\' 单引号

示例

CSHARP
using System;

namespace EscapeDemo
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("Line1\nLine2");
            Console.WriteLine("Name\tAge");
            Console.WriteLine("Path: C:\\Users\\Doc");
            Console.WriteLine("He said \"Hello\"");
        }
    }
}
▶ 试一试
TEXT
Line1
Line2
Name	Age
Path: C:\Users\Doc
He said "Hello"
⚠️ 如果字符串中包含大量反斜杠(如文件路径),可以使用逐字字符串 @"...",其中的 \ 不再需要转义。

注释

注释是给开发者看的说明文字,编译器会忽略它们。C# 有三种注释方式:

CSHARP
using System;

namespace CommentDemo
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("hello");

            Console.WriteLine("world");

            /*
            Console.WriteLine("skipped");
            Console.WriteLine("also skipped");
            */

            Console.WriteLine("end");
        }

        /// <summary>
        /// 计算两数之和
        /// </summary>
        static int Add(int a, int b)
        {
            return a + b;
        }
    }
}
TEXT
hello
world
end
📌 XML 文档注释(///)常用于公共 API,Visual Studio 会在调用时显示这些说明。

顶级语句

从 C# 9 开始支持顶级语句,省略 namespaceclassMain 的模板代码,直接在文件顶层编写逻辑。编译器自动生成入口方法。

示例

CSHARP
using System;

Console.WriteLine("Top-level statement!");
int result = 40 + 2;
Console.WriteLine($"The answer is {result}");
▶ 试一试
TEXT
Top-level statement!
The answer is 42

ℹ️ 顶级语句只能在项目中的一个文件里使用,多个文件使用会导致编译错误。

文件范围命名空间

从 C# 10 开始支持文件范围命名空间,用 namespace MyApp; 替代传统的块式命名空间,减少一层嵌套:

CSHARP
namespace MyApp;

class Program
{
    static void Main()
    {
        Console.WriteLine("File-scoped namespace");
    }
}

等价于:

CSHARP
namespace MyApp
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("File-scoped namespace");
        }
    }
}

✅ 文件范围命名空间使代码更简洁,推荐在新项目中使用。

❓ 常见问题

Q 忘记写分号会怎样?
A 编译器报错,提示缺少分号,错误位置可能在下一行。 Q:using 指令可以写在 namespace 内部吗? A:可以,但通常写在文件顶部,使作用域更清晰。 Q:顶级语句项目中还能定义类吗? A:可以,类定义放在顶级语句之后即可。 Q:文件范围命名空间中能定义多个命名空间吗? A:不能,每个文件只能有一个文件范围命名空间。

📖 小节

  • C# 程序由 using、namespace、class、Main 组成
  • 每条语句必须以分号结尾
  • 代码块用大括号包裹,可嵌套
  • Console.Write 不换行,Console.WriteLine 自动换行
  • 转义字符用反斜杠引导,逐字字符串 @"..." 可避免转义
  • 三种注释:单行 //、多行 /* */、XML文档 ///
  • 顶级语句(C# 9+)简化入口代码
  • 文件范围命名空间(C# 10+)减少嵌套层级

📝 作业

  1. 编写一个控制台程序,使用 Console.Write 和 Console.WriteLine 输出自己的姓名和年龄
  2. 使用转义字符在一条 Console.WriteLine 语句中输出三行文本
  3. 将一个经典程序结构改写为顶级语句版本
  4. 为一个方法添加 XML 文档注释,包含 <summary><param> 标签
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏