AI正在绞尽脑汁想思路ING···
BiのAI摘要
HunYuan-Lite

# 简介

C# 是一种面向对象的编程语言。在面向对象的程序设计方法中，程序由各种相互交互的对象组成。相同种类的对象通常具有相同的类型，或者说，是在相同的 class 中。

例如，以 Rectangle（矩形）对象为例。它具有 length 和 width 属性。根据设计，它可能需要接受这些属性值、计算面积和显示细节。

实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    using System;
    namespace RectangleApplication
    {
        class Rectangle
        {
            // 成员变量
            double length;
            double width;
            public void Acceptdetails()
            {
                length = 4.5;
                width = 3.5;
            }
            public double GetArea()
            {
                return length * width;
            }
            public void Display()
            {
                Console.WriteLine("Length: {0}", length);
                Console.WriteLine("Width: {0}", width);
                Console.WriteLine("Area: {0}", GetArea());
            }
        }

        class ExecuteRectangle
        {
            static void Main(string[] args)
            {
                Rectangle r = new Rectangle();
                r.Acceptdetails();
                r.Display();
                Console.ReadLine();
            }
        }
    }

尝试一下 »
当上面的代码被编译和执行时，它会产生下列结果：

    1
    2
    3
    Length: 4.5
    Width: 3.5
    Area: 15.75

# using 关键字

在任何 C# 程序中的第一条语句都是：

using System;
using 关键字用于在程序中包含命名空间。一个程序可以包含多个 using 语句。

# class 关键字

class 关键字用于声明一个类。

# C# 中的注释

注释是用于解释代码。编译器会忽略注释的条目。在 C# 程序中，多行注释以 /* 开始，并以字符 */ 终止，如下所示：

    1
    2
    3
    /* 这个程序演示
    C# 的注释
    使用 */

单行注释是用 // 符号表示。例如：

    1
    // 这一行是注释

# 成员变量

变量是类的属性或数据成员，用于存储数据。在上面的程序中，Rectangle 类有两个成员变量，名为 length 和 width。

成员函数
函数是一系列执行指定任务的语句。类的成员函数是在类内声明的。我们举例的类 Rectangle 包含了三个成员函数： AcceptDetails、GetArea 和 Display。

实例化一个类
在上面的程序中，类 ExecuteRectangle 是一个包含 Main() 方法和实例化 Rectangle 类的类。

# 标识符

标识符是用来识别类、变量、函数或任何其它用户定义的项目。在 C# 中，类的命名必须遵循如下基本规则：

- 标识符必须以字母、下划线或 @ 开头，后面可以跟一系列的字母、数字（ 0 - 9 ）、下划线（ _ ）、@。
- 标识符中的第一个字符不能是数字。
- 标识符必须不包含任何嵌入的空格或符号，比如 ? - +! # % ^ & * ( ) [ ] { } . ; : “ ‘ / \。
- 标识符不能是 C# 关键字。除非它们有一个 @ 前缀。 例如，@if 是有效的标识符，但 if 不是，因为 if 是关键字。
- 标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
- 不能与C#的类库名称相同。

# C# 关键字

关键字是 C# 编译器预定义的保留字。这些关键字不能用作标识符，但是，如果您想使用这些关键字作为标识符，可以在关键字前面加上 @ 字符作为前缀。

在 C# 中，有些关键字在代码的上下文中有特殊的意义，如 get 和 set，这些被称为上下文关键字（contextual keywords）。

# 顶级语句（Top-Level Statements）

在 C# 9.0 版本中，引入了顶级语句（Top-Level Statements）的概念，这是一种新的编程范式，允许开发者在文件的顶层直接编写语句，而不需要将它们封装在方法或类中。

## 特点：

无需类或方法：顶级语句允许你直接在文件的顶层编写代码，无需定义类或方法。

文件作为入口点：包含顶级语句的文件被视为程序的入口点，类似于 C# 之前的 Main 方法。

自动 Main 方法：编译器会自动生成一个 Main 方法，并将顶级语句作为 Main 方法的主体。

支持局部函数：尽管不需要定义类，但顶级语句的文件中仍然可以定义局部函数。

更好的可读性：对于简单的脚本或工具，顶级语句提供了更好的可读性和简洁性。

适用于小型项目：顶级语句非常适合小型项目或脚本，可以快速编写和运行代码。

与现有代码兼容：顶级语句可以与现有的 C# 代码库一起使用，不会影响现有代码。

传统 C# 代码 - 在使用顶级语句之前，你必须像这样编写一个 C# 程序：

实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    using System;

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

使用顶级语句的 C# 代码 - 使用顶级语句，可以简化为：

实例

    1
    2
    3
    using System;

    Console.WriteLine("Hello, World!");

顶级语句支持所有常见的 C# 语法，包括声明变量、定义方法、处理异常等。

实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    using System;
    using System.Linq;

    // 顶级语句中的变量声明
    int number = 42;
    string message = "The answer to life, the universe, and everything is";

    // 输出变量
    Console.WriteLine($"{message} {number}.");

    // 定义和调用方法
    int Add(int a, int b) => a + b;
    Console.WriteLine($"Sum of 1 and 2 is {Add(1, 2)}.");

    // 使用 LINQ
    var numbers = new[] { 1, 2, 3, 4, 5 };
    var evens = numbers.Where(n => n % 2 == 0).ToArray();
    Console.WriteLine("Even numbers: " + string.Join(", ", evens));

    // 异常处理
    try
    {
        int zero = 0;
        int result = number / zero;
    }
    catch (DivideByZeroException ex)
    {
        Console.WriteLine("Error: " + ex.Message);
    }

文章作者: biss
文章链接: https://blog.biss.click/posts/e9a8e898/
版权声明: 本博客所有文章除特别声明外，均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Bi's Blog！
C#
相关推荐
2025-08-15
C# 入门
今天开始学习C# 环境安装下载Visual Studio,社区版就可以 🪧引用站外地址，不保证站点的可用性和安全性 Visual Studio Visual Studio 下载的是安装器选择.Net桌面开发，注意修改安装位置 第一个程序123456789101112131415using System;namespace HelloWorldApplication{ /* 类名为 HelloWorld */ class HelloWorld { /* main函数 */ static void Main(string[] args) { /* 我的第一个 C# 程序 */ Console.WriteLine("Hello World!"); C...

评论
biss
文章
34
标签
11
分类
5
Follow Me
公告
系列文章
C# 基本语法 2025-08-16
C# 入门 2025-08-15
最新文章
opencv基础操作 2026-03-15
配置opencv 2026-03-14
自建bitwarden服务 2026-02-25
自建renovate-bot 2026-02-23
新年快乐！2026-02-14
随便逛逛昼夜切换繁简转换阅读模式隐私声明 Cookie协议版权声明