news 2026/5/19 11:36:16

C# 基本语法详解:从面向对象到 C# 9 顶级语句一文入门

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C# 基本语法详解:从面向对象到 C# 9 顶级语句一文入门

好,这一篇我帮你整理成一篇可直接发布到 CSDN 的完整技术文章,结构清晰、语言偏教程向,适合C# 入门 + 语法总览,也顺带把C# 9 的顶级语句讲明白。

你可以原样复制发布,或者我后面再帮你改成「更偏博客风 / 更偏新手 / 更偏面试」版本。


C# 基本语法详解:从面向对象到 C# 9 顶级语句一文入门

在 .NET 技术体系中,C# 是一门以面向对象为核心的现代编程语言,被广泛应用于 Web 开发、桌面应用、微服务、游戏(Unity)等多个领域。

本文将从一个最经典的 Rectangle(矩形)示例入手,系统讲解 C# 的基本语法结构,并逐步扩展到关键字、标识符规则以及C# 9.0 引入的顶级语句(Top-Level Statements),帮助你快速建立对 C# 的整体认知。


一、面向对象的基本概念

C# 是一门面向对象编程语言(OOP)

在面向对象思想中:

  • 程序由对象(Object)组成

  • 对象由类(Class)定义

  • 类包含

    • 属性 / 成员变量(Field)
    • 行为 / 成员方法(Method)

例如,一个Rectangle(矩形)对象,通常具有:

  • 属性:长度(length)、宽度(width)
  • 行为:计算面积、显示信息

二、Rectangle 示例:C# 基本语法全景示例

下面是一个完整的 C# 示例程序:

usingSystem;namespaceRectangleApplication{classRectangle{// 成员变量doublelength;doublewidth;publicvoidAcceptdetails(){length=4.5;width=3.5;}publicdoubleGetArea(){returnlength*width;}publicvoidDisplay(){Console.WriteLine("Length: {0}",length);Console.WriteLine("Width: {0}",width);Console.WriteLine("Area: {0}",GetArea());}}classExecuteRectangle{staticvoidMain(string[]args){Rectangler=newRectangle();r.Acceptdetails();r.Display();Console.ReadLine();}}}

程序运行结果

Length: 4.5 Width: 3.5 Area: 15.75

三、using 关键字:引入命名空间

usingSystem;
  • using用于引入命名空间
  • 命名空间中包含了大量类和方法
  • System是最常用的基础命名空间之一,包含ConsoleStringMath

👉 一个程序中可以包含多个 using 语句


四、class 关键字:定义类

classRectangle{}
  • class用于声明一个类

  • 类是对象的蓝图

  • 一个类可以包含:

    • 成员变量
    • 成员方法
    • 构造函数
    • 属性等

五、C# 中的注释

1️⃣ 单行注释

// 这一行是注释

2️⃣ 多行注释

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

注释只用于解释代码,不会参与编译


六、成员变量(字段)

doublelength;doublewidth;
  • 成员变量用于存储对象的状态
  • 定义在类内部、方法外部
  • 默认访问级别为private

七、成员函数(方法)

publicdoubleGetArea(){returnlength*width;}
  • 方法是执行特定功能的一组语句

  • 方法可以:

    • 接收参数
    • 返回结果
  • 示例中包含:

    • Acceptdetails():初始化数据
    • GetArea():计算面积
    • Display():输出结果

八、类的实例化

Rectangler=newRectangle();
  • 使用new关键字创建对象
  • rRectangle的一个实例
  • 通过实例调用成员方法

九、标识符命名规则

标识符用于命名:

  • 变量
  • 方法
  • 命名空间等

基本规则

  • 字母、下划线_@开头
  • 不能以数字开头
  • 不能包含空格或特殊符号
  • 区分大小写
  • 不能是 C# 关键字(除非加@

✅ 合法示例:

intage;stringuser_name;int@class;

❌ 非法示例:

int1number;stringuser-name;

十、C# 关键字

1️⃣ 保留关键字(部分)

class public private static void int string if else for return new using namespace

这些关键字不能作为标识符


2️⃣ 上下文关键字(Contextual Keywords)

get set from select where partial add remove

它们只在特定语法上下文中有特殊含义。


十一、C# 9.0:顶级语句(Top-Level Statements)

C# 9.0开始,引入了顶级语句,大幅简化程序结构。


1️⃣ 传统写法(C# 9 之前)

usingSystem;namespaceMyApp{classProgram{staticvoidMain(string[]args){Console.WriteLine("Hello, World!");}}}

2️⃣ 顶级语句写法

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

✔ 编译器会自动生成 Main 方法
✔ 文件本身成为程序入口


十二、顶级语句的完整示例

usingSystem;usingSystem.Linq;// 变量声明intnumber=42;stringmessage="The answer to life, the universe, and everything is";// 输出Console.WriteLine($"{message}{number}.");// 方法定义intAdd(inta,intb)=>a+b;Console.WriteLine($"Sum of 1 and 2 is{Add(1,2)}.");// LINQvarnumbers=new[]{1,2,3,4,5};varevens=numbers.Where(n=>n%2==0);Console.WriteLine(string.Join(", ",evens));// 异常处理try{intresult=number/0;}catch(DivideByZeroExceptionex){Console.WriteLine("Error: "+ex.Message);}

十三、顶级语句的注意事项

  • 一个项目只能有一个顶级语句文件

  • 使用顶级语句后,不能再手写Main

  • 所有顶级语句共享同一作用域

  • 更适合:

    • 小工具
    • 示例程序
    • 学习 / 教学代码

十四、总结

  • C# 是一门强类型、面向对象、现代化的语言

  • 类、对象、方法、命名空间是核心基础

  • C# 9 的顶级语句:

    • 降低学习门槛
    • 提升开发效率
    • 适合快速开发

📌建议学习路线
C# 基本语法 → OOP 三大特性 → 委托 / 事件 → LINQ → 异步 async/await → ASP.NET Core

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 2:27:18

深度测评!倾心之选的AI论文软件 —— 千笔ai写作

你是否在论文写作中感到无从下手?选题迷茫、思路混乱、文献查找困难、格式错误频出、查重率高得让人焦虑……这些困扰是不是让你夜不能寐?面对繁重的学术任务,很多同学都渴望一个高效、智能的写作助手。千笔AI正是为了解决这些问题而生&#…

作者头像 李华
网站建设 2026/5/16 14:20:25

再论自然数全加和-费马大定理

再来看费马大定理,要求证的是,没有正整数解。对于 ,方程不可能成立;对于 ,对于任意正整数成立。对于2以及更高次,现在我们引入周期 ,以及所有关于0的项目,转换成,考虑二项式定理&…

作者头像 李华
网站建设 2026/5/19 3:01:31

金融行业大文件上传解决方案中如何加入断点续传功能?

大文件传输系统建设方案 作为福建互联网上市公司项目负责人,针对公司大文件传输需求,我主导完成了从技术选型到架构设计的全流程工作。以下为系统性解决方案: 一、核心需求实现路径 跨平台兼容性设计 前端采用渐进增强策略: V…

作者头像 李华
网站建设 2026/5/19 5:32:43

还在为原神养成头秃?这款桌面神器让你少走90%弯路

还在为原神养成头秃?这款桌面神器让你少走90%弯路 【免费下载链接】Snap.Hutao 实用的开源多功能原神工具箱 🧰 / Multifunctional Open-Source Genshin Impact Toolkit 🧰 项目地址: https://gitcode.com/GitHub_Trending/sn/Snap.Hutao …

作者头像 李华
网站建设 2026/5/19 5:32:57

Linux系统Wi-Fi 6优化指南:Realtek 8852AE驱动配置与网络性能调优

Linux系统Wi-Fi 6优化指南:Realtek 8852AE驱动配置与网络性能调优 【免费下载链接】rtw89 Driver for Realtek 8852AE, an 802.11ax device 项目地址: https://gitcode.com/gh_mirrors/rt/rtw89 一、核心优势解析 Realtek 8852AE Wi-Fi 6驱动专为Linux系统深…

作者头像 李华
网站建设 2026/5/19 6:12:42

Unreal Engine塔防游戏开发从入门到精通:零基础完整指南

Unreal Engine塔防游戏开发从入门到精通:零基础完整指南 【免费下载链接】UnityTutorials-RTS The code for my series of tutorials on how to make a real-time stategy (RTS) game in the well-know Unity game engine (with C# scripting)! 项目地址: https:…

作者头像 李华