基础介绍
约 1543 字大约 5 分钟
2025-11-24
1.1 C# 简介
C# 是一个简单的、现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的。
可能会有人分不清 .Net 和 C# 的关系,笼统的讲 .Net 是微软的一个开发平台,也是一个开发框架,而 C# 是这个框架中的编程语言,在 .Net 的生态系统中密不可分。
1.2 C# 的特点
按照百度百科官方给出的解释:
C# 的语法对于熟悉C、C++、Java或JavaScript的开发者来说非常熟悉,这使得他们可以快速学习和使用 C# 。 C# 提供了许多强大的功能,如可空类型、委托、Lambda表达式和安全的内存访问。 C# 还支持泛型方法和类型,提高了类型安全性和性能。 此外,C# 还提供了迭代器、LINQ表达式、异步流等高级功能。
C# 的另一个特点是它的互操作性,它允许 C# 程序与本机组件交互,执行几乎任何C++程序可以执行的操作。(此处系统为windows)
根据笔者的使用体验来说:
C#上手快,得益于VS的优势,可以很快速的完成开发环境的搭建。不需要有很复杂的版本控制和管理,几乎傻瓜式的项目创建流程让启动变得极为容易。对于依赖包的管理也非常简便。对于笔者而言nuget包的使用可以说是舒适- 对windows平台的支持较好,对于其他语言来说,
C#作为微软主推的开发语言,对windows的适配很高,可以非常方便的调用win32接口和其他底层控制。比如实现窗口自动化等功能可以直接使用C#的UIAutomation包进行快速实现。
总而言之,C# 是一个在C和C++基础上衍生出来的面向对象语言,和 Java 编程比较类似。
常用编译软件
2.1 Virtual Studio
Virtual Studio 以下简称 VS ,作为微软官方推出的编译器,绝对是开发 C# 的首选,具体下载链接: 微软官方下载页
VS 对 C# 的适配有着得天独厚的优势,谁用谁知道啊,此处不多做展开,有兴趣可以查阅 什么是 Visual Studio? 了解具体功能。后续本文也将使用 VS 作为编译器进行讲述。
2.2 Virtual Studio Code
Virtual Studio Code 以下简称 VSCode ,作为另一款微软官方推出的编译器,主要用途并不是用于编写 C# 而是轻量化的跨平台多语言编译器。在安装对应语言的插件后,可以进行对应语言的程序编写与调试编译。本人不使用 VSCode 进行 C# 开发,所以在此不多做赘述。
基础教程推荐
此处推荐一些比较共通的教程,可以先对 C# 的语言结构有一定的了解。
- 菜鸟教程 大部分语言就能在菜鸟教程找到最基础的学习教程
菜鸟教程是新手村村长一样的存在。 - C语言中文网 虽然名字叫C语言中文网,但实际也包含了很多语言的基础教程,和菜鸟教程类似。
- 哔哩哔哩 b站相信都不会陌生,可以在b站找到不少网络教程
收藏了视频知识就会进入脑袋的(确信),有视频参考的情况下,有时能比纯书面更加容易理解一些代码的运行逻辑。
在通过查阅上述的教程后,相信您会对C#的编写方式有一定了解,同时应该可以尝试下载一些简易的项目进行自行解读和使用,如果还没搞懂也没关系后续的篇幅会具体讲述。
C# 和 .Net的关系
在上文中曾简短提到 C# 和 .Net 的关系。实际使用中,还是分成很多不同的框架,接下来将简单对各个框架进行介绍,方便各位对自己需要的框架进行选择和学习
4.1 .net framework
按照资历上来说,.net framework 可以说是最最老资历的框架,他是 .net 生态系统中最早被推出的框架。老资历我敬你! 相较于后续其他推出的框架而言 .net framework 主要为Windows平台服务,一般用于开发桌面应用或是windows服务等。作为最早推出的框架,虽然比较适配windows平台,但是不开源、不能跨平台等缺点还是比较麻烦。
4.2 .net core
.net core 是继 .net framework 后推出的跨平台框架,为了解决 .net framework 不能跨平台的问题和不能适用于容器化的问题而出现的。最大的亮点就是高性能和跨平台,同时可以模块化开发,主要服务于微服务和云系统。
4.3 .net
.net 可以看作是结合了 .net framework 和 .net core 推出的整合新版本框架,结合了二者的优势。.net core 在 3.1 版本后就停止了更新,转而合并为 .net 。目标是实现了跨平台开发,支持windows、linux和macOS,可以构建的项目也囊括了原有的所有,如桌面应用、Web应用、云服务、移动应用等。
关系表格
| 特性 | .net framework | .net core | .net |
|---|---|---|---|
| 跨平台 | × | ✔ | ✔ |
| 性能 | 中 | 高 | 最高 |
| 是否继续更新 | 保持维护状态 | 3.1 版本起停止维护 | 仍在更新(截止编写文档已更新.net 10) |
| 主要Web技术 | asp .net | asp .net core | asp .net core |
| 主要使用场景 | 桌面应用、老项目 | 微服务、跨平台web | 所有新项目 |
关系总结表
三个不同的框架之间无法互通,例如使用
.net framework进行类库的开发,完成后的dll文件无法给.net项目使用。