news 2026/6/9 19:41:46

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/6/5 9:40:00

智能安全充电控制系统的研究与开发

智能安全充电控制系统的研究与开发 第一章 研究背景与核心目标 电动自行车、新能源汽车等充电场景中,传统充电方式存在过载、过温、短路等安全隐患,且充电过程缺乏实时监控、计费混乱、无人值守场景管理难等问题,极易引发火灾、触电等安全事…

作者头像 李华
网站建设 2026/6/8 9:34:26

是振荡器? 还是斜率鉴频器?

简 介: 本文分析了一款调频收音机中的差分LC振荡电路。通过仿真和电路分析发现,该电路并非用于产生本振信号,而是作为有源LC鉴频电路使用。它利用LC回路的频率特性对调频信号进行斜率鉴频,将调频信号转换为调幅信号,同…

作者头像 李华
网站建设 2026/6/5 15:24:39

【收藏学习】向量数据湖赋能Context Engineering:RAG到Agent的技术演进

这是基于2025 AICon大会的Milvus负责人刘力《RAG不止是检索:Milvus在Context Engineering中的湖仓一体实践》整理出的核心观点与关键技术要点总结。我认为接收一些会议/演讲类材料可用快速了解行业动态和趋势。从 RAG 到 Agent:向量数据湖驱动下一代 Con…

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

《解忧杂货铺》读书笔记——以善意赴山海,以温柔解迷茫

《解忧杂货铺》读书笔记——以善意赴山海,以温柔解迷茫 开篇:一间穿越时空的善意驿站 东野圭吾的《解忧杂货铺》,跳出了他一贯擅长的悬疑推理框架,以一间神奇的杂货铺为载体,用温柔细腻的笔触,编织出一个…

作者头像 李华
网站建设 2026/6/5 15:21:23

ThingsBoard - 更改数据库存储目录

安装ThingsBoard时,采用了postgres数据库的默认配置,经过几个月运行,数据库的存储目录满了,准备将该数据库迁移到D盘,方便扩容和备份。网上资料鱼龙混杂,记录下迁移过程。 需求说明 服务器是windows操作系统…

作者头像 李华
网站建设 2026/6/5 14:27:31

构建高校院所科技成果转化的数智化桥梁

在当今快速发展的科技时代,高校院所作为科研创新的重要基地,其科技成果的转化效率直接影响着国家的创新能力与产业竞争力。然而,在传统的科技成果转化过程中,信息壁垒和供需不对称问题一直是制约这一进程的关键因素。如何打破这些…

作者头像 李华