前言:正式开启 C# 学习之旅,第一天梳理全部基础概念,亲手绘制思维导图整理知识点,主攻方向为上位机开发,记录学习笔记,分享给同样入门的小伙伴。
文末附上今日知识点思维导图
一、了解 C#
什么是编程语言
编程语言是一套用于和计算机交互、定义行为的指令集合。
C# :C# 是由微软推出的面向对象编程语言,依托.NET 平台运行。
C# 主流发展方向
Web 后端开发、桌面应用开发、Unity 游戏开发、物联网、机器视觉、上位机开发(本人后续学习重点)。
二、了解 .NET 平台
很多新手容易混淆 C# 和 .NET:
C# 是编程语言;.NET 是支持多语言的免费开源开发平台
我们可以使用 C#、VB.NET等语言基于.NET 开发程序,C# 是.NET 生态使用最多的编程语言。
类比理解:类似于 Java 语言和 JDK 的关系。
.NET 平台提供完整的代码编辑、编译、运行、部署全套环境。
.NET 版本发展历史
.NET Framework(2002 年推出):仅支持 Windows 系统,不再新增功能,仅安全维护。
.NET Core:跨平台版本(Windows/Linux/Mac)
.NET 5(2020 起):基于.NET Core 迭代,统一跨平台路线;
重要误区纠正:.NET5+ 并没有合并 .NET Framework,二者相互独立,.NET Framework 仅限 Windows 旧项目使用。
三、软件架构:C/S 与 B/S
- C/S 架构(客户端 / 服务器架构)
需要在电脑安装专用客户端软件,例如:微信客户端、组态上位机软件。 - B/S 架构(浏览器 / 服务器架构)
无需安装客户端,直接通过浏览器访问,例如网页、管理后台系统。
两者核心区别
部署维护:C/S 升级需要更新每一台客户端;B/S 只需更新服务端,维护成本更低。
硬件与网络:C/S 常运行在内网专用网络;B/S 基于广域网互联网。
安全性:C/S 面向固定人群,内网环境,数据安全性更高;B/S 面向全网访客,安全风险更高。
开发成本:同等需求下 C/S 开发成本普遍高于 B/S。
四、C# 开发工具
主流两款 IDE:
Visual Studio(VS):微软官方工具,新手推荐入门;社区版免费。
Rider:JetBrains 出品,性能优秀,付费软件。
VS 中基础概念
解决方案 Solution:用于统一管理多个项目,一个解决方案可以包含若干项目。
项目 Project:独立程序单元。
引用:加载.NET 平台提供好的类库,复用官方封装代码。
.cs 文件:C# 源代码文件,一个项目可以存在多个.cs 源码文件。
.cs 文件基础代码结构
csharp
运行
// using:引入命名空间,方便直接调用空间内的类
using System;
// namespace:自定义命名空间,用于区分各类代码,避免命名冲突
namespace Demo
{
// 自定义类
class Program
{
// Main主方法:程序唯一入口,程序启动时自动执行
static void Main(string\[\] args)
{
Console.WriteLine();
}
}
}
补充:using 和 Java 的import看起来作用相似,但底层机制有区别,不要完全等同。
五、控制台基础输出语句
csharp
运行
// 输出内容,光标停留在同一行,不换行
Console.Write("内容");
// 输出内容,输出完成后自动换行
Console.WriteLine("内容");
// 暂停程序,等待用户按下任意按键后继续运行
Console.ReadKey();
六、C# 程序完整执行流程
编译阶段
使用.NET 自带编译器,将 C# 源码编译生成 .exe 可执行文件。
exe 内部存储IL 中间语言,CPU 无法直接识别中间语言。
运行阶段
双击 exe 启动程序,交由 CLR(公共语言运行时) 执行;
CLR 内部的 JIT 即时编译器,把 IL 中间语言实时编译为当前操作系统 CPU 能识别的本机机器码,最终运行。
七、编程语言类型区分(重点避坑)
纯编译型语言(C/C++):一次性直接编译为机器码,直接运行。
托管语言(C# / Java):源码 → 中间语言 (IL / 字节码),运行时依靠虚拟机 / 运行时 + JIT 编译执行。
不建议简单定义为 "编译 + 解释型语言",这个说法并不严谨,面试容易踩坑。
传统解释型语言(Python):边解析代码边执行,无预先编译机器码过程。
八、DOS 命令基础(拓展)
Win+R 输入 cmd 打开 DOS 命令窗口
常用命令:
cd 路径:切换目录
文件名.exe:运行对应程序
环境变量 PATH 作用:执行程序时,系统先在当前文件夹寻找文件;找不到则自动去 PATH 配置目录查找。
学习总结
第一天主要扫清所有前置概念,搞懂「C# 和.NET 到底是什么」、程序是怎么跑起来的,区分开 B/S、C/S 架构,熟悉控制台基础语法。后续开始练习控制台案例,循序渐进向上位机方向学习。
今日思维导图如下