当前位置: 首页 > news >正文

C#基础02-Net框架

零、文章目录

C#基础02-Net框架

1、版本说明

(1)起源与诞生
  • 前身COOL项目
    • 1998年微软启动COOL(C-like Object Oriented Language)项目,由Delphi之父Anders Hejlsberg主导设计,目标是为.NET平台打造纯面向对象语言 。
    • 2000年2月因商标问题更名为C#(名称灵感源于音乐符号升C大调)。
  • 正式发布(2002)
    • C# 1.0随 .NET Framework 1.0发布,定位为Java的替代方案,核心特性包括:
      • 基础面向对象(类、继承、接口)
      • 自动内存管理(GC垃圾回收)
      • 跨语言互操作性(通过CLR)
(2)版本历史
.NET / .NET Framework 版本发布年份C# 版本Visual Studio 版本.NET 主要新功能C# 主要新功能
.NET Framework 1.02002C# 1.0VS 2002- 首个版本,引入了CLR - 支持Windows应用程序开发- 基础语言特性 - 类和对象 - 异常处理 - 委托和事件
.NET Framework 1.12003C# 1.2VS 2003- 改进了ASP.NET性能 - 增强了Web服务的支持- 泛型预览 - 改进的属性支持
.NET Framework 2.02005C# 2.0VS 2005- 引入了泛型 - 改进了安全性模型- 泛型 - 匿名方法 - 迭代器 - 部分类 - 可空类型
.NET Framework 3.02006C# 2.0VS 2005- 添加了WPF, WCF, WF, CardSpace- (无新功能)
.NET Framework 3.52007C# 3.0VS 2008- 引入了LINQ - ADO.NET Entity Framework- LINQ - Lambda 表达式 - 扩展方法 - 对象和集合初始化器 - 匿名类型 - 查询表达式
.NET Framework 4.02010C# 4.0VS 2010- 并行计算库 (PLINQ) - 动态语言运行时 (DLR) - Code Contracts- 动态绑定 (dynamic) - 命名参数和可选参数 - 协变和逆变 - Task 并发模型
.NET Framework 4.52012C# 5.0VS 2012- 异步编程模型 (async/await) - Windows Store 应用程序支持- 异步编程 (async/await) - Caller Info 属性 - using 静态类
.NET Framework 4.62015C# 6.0VS 2015- 性能改进 - 安全性增强 - Roslyn编译器平台- 空条件运算符 (?.) - 字符串插值 - 自动实现的只读属性 - 异常过滤器 - nameof 表达式 - using 静态类
.NET Core 1.02016C# 6.0VS 2015 / VS 2017- 跨平台支持 - 开源 - 快速部署 - 云优化- (基于C# 6.0)
.NET Core 2.02017C# 7.0VS 2017- .NET Standard 2.0 - 支持WinForms/WPF预览 - Docker容器支持- 局部函数 - 更好的模式匹配 - 异步返回类型 (Task, ValueTask) - 元组解构
.NET Core 2.12018C# 7.1VS 2017- 长期支持版本 (LTS) - 改进gRPC支持 - 改进的Docker支持- 异步主方法 (async Main) - 默认表达式 - 推断元组元素名称 - 通用异步返回类型
.NET Core 2.22018C# 7.2VS 2017- 改进gRPC支持 - 改进的Azure Functions支持- 私有保护 - 仅初始化器 - ref struct - in参数 - readonly struct
.NET Core 3.02019C# 8.0VS 2019- 支持WinForms/WPF - Blazor - 改进的性能 - 单文件发布- 可空引用类型 - 异步流 (IAsyncEnumerable) - 模式匹配增强 - 记录(预览) - 静态匿名函数
.NET 52020C# 9.0VS 2019- 统一 .NET Core 和 .NET Framework - 改进性能 - 改进的云原生支持- 记录(正式支持) - 初始化器中设置只读属性 - 顶级语句 - 模式匹配增强 - 协变和逆变接口
.NET 62021C# 10.0VS 2022- 长期支持版本 (LTS) - 改进性能 - WebAssembly支持 - 改进的容器化支持- 文件范围的命名空间 - 记录结构 - 带有参数的记录 - 改进的 lambda 表达式 - global using 指令
.NET 72022C# 11.0VS 2022- 改进多线程 - 改进的AI/ML支持 - 改进的云原生支持 - 改进的性能- 原始字符串字面量 - 静态抽象成员 - required 成员 - using 声明改进 - nameof 表达式增强
.NET 82023C# 12.0VS 2022- 改进的性能 - 改进的云原生支持 - 改进的AI/ML支持 - 改进的WebAssembly支持- with 表达式 - switch 表达式增强 - default 参数值 - ref struct 改进 - record 和 struct 的 with 语法
.NET 92024C# 13.0VS 2022 (17.9+)- 进一步的性能提升 - 更好的云原生支持 - 改进的开发者体验 - 改进的机器学习集成-记录结构
-增强的模式匹配
-改进的错误处理
-更简洁的语法
-对函数式编程更好的支持
(3)主要阶段划分
  • .NET Framework 1.0 - 4.6
    • C# 1.0 - 6.0:这些版本奠定了 C# 作为现代面向对象编程语言的基础,引入了许多重要的特性,如泛型、LINQ、异步编程等。
    • Visual Studio 2002 - 2015:随着 C# 和 .NET Framework 的发展,Visual Studio 也不断更新,提供了更好的开发工具和调试支持。

  • .NET Core 1.0 - 3.0
    • C# 6.0 - 8.0:.NET Core 的推出标志着微软向跨平台开发的重大转变,C# 也在这段时间内引入了许多现代化的功能,如模式匹配、异步流和记录。
    • Visual Studio 2015 - 2019:Visual Studio 逐步增加了对 .NET Core 的支持,提供了更好的跨平台开发体验。
  • .NET 5+
    • C# 9.0 - 12.0:.NET 5 是微软统一 .NET Core 和 .NET Framework 的里程碑,C# 在这之后继续快速发展,引入了许多创新的功能,如顶级语句、with 表达式和静态抽象成员。
    • Visual Studio 2019 - 2022:Visual Studio 2019 和 2022 提供了强大的工具链,支持 .NET 5+ 的所有新特性,并优化了开发效率。

(4)版本对比
组件.NET Framework(旧版).NET 5+(现代跨平台)
运行时Windows专属CLR跨平台CoreCLR/CoreRT
部署模式需系统级安装支持独立发布
云原生支持较弱容器优化、微服务集成

2、框架核心组成

(1)核心运行时与类型系统
  • 公共语言运行时(CLR)
    • 功能:作为执行引擎,提供内存管理(GC垃圾回收)、线程调度、安全验证、异常处理等核心服务。
    • 关键机制:
      • 即时编译(JIT):将中间语言(IL)动态编译为本地机器码执行。
      • 通用类型系统(CTS):统一不同语言(如C#、VB.NET)的数据类型定义,确保跨语言互操作。
      • 公共语言规范(CLS):定义语言互操作的最低标准,约束各语言实现。
  • 框架类库(FCL)
    • 定位:提供超过10,000个可重用类、接口和值类型,覆盖开发全场景。
    • 核心命名空间示例:
命名空间功能描述
System基础数据类型、数学计算、异常处理
System.IO文件与流操作(如读写文本/二进制数据)
System.Data数据库访问(ADO.NET)
System.Net网络通信(HTTP、TCP/IP协议)
System.Windows.FormsWindows桌面GUI开发
System.WebASP.NET Web应用开发
(2)应用模型与开发支持
  • 应用程序模板
    • WinForms:构建传统Windows桌面应用程序。
    • ASP.NET:开发Web窗体(Web Forms)和Web服务(Web Services)。
    • WPF(.NET 3.0+):高级图形界面与多媒体支持。
  • 通信与工作流扩展
    • WCF(Windows Communication Foundation):分布式服务通信框架。
    • WF(Workflow Foundation):工作流引擎支持业务流程编排。
  • 语言与编译器支持
    • 支持C#、VB.NET、F#等语言,通过编译器将源代码转换为IL。
(3)部署与兼容性工具
  • ClickOnce部署:实现一键安装与自动更新。
  • 版本兼容机制:
    • 通过<TargetFramework>指定运行时版本(如net4.8)。
    • 支持托管与非托管代码混合运行(如COM组件互操作)。
(4)现代演进跨平台
  • .NET Core继承:
    • 保留CLR与FCL核心,重构为跨平台运行时(CoreCLR)和类库(CoreFX)。
    • CoreCLR:支持Windows/Linux/macOS的JIT运行时。
    • 新增CoreRT运行时:支持AOT编译生成独立可执行文件。
  • 统一标准:
    • .NET Standard Library:定义跨平台API规范,确保代码复用。
    • 不同运行时(.NET Framework/.NET Core)通过实现该标准兼容。
  • 跨平台部署方案
    • 依赖框架:需目标系统安装.NET运行时
    • 独立发布:包含运行时与程序集(AOT编译生成单文件)
(5)组件关系图示

http://www.dtcms.com/a/431015.html

相关文章:

  • 淘宝网站开发店铺什么类别淄博网站制作服务推广
  • io多路复用:reactor模型的封装及与上层简单业务的实现(webserver)
  • Pod 的 init Containers
  • 个人网站备案 导航单位门户网站怎么做
  • 网站建设充值入口pc营销型网站
  • ML4T - 第7章第6节 使用Alphalens进行分析 Alphalens Analysis
  • Lazarus下载和安装教程(附安装包,图文并茂)
  • 高端自适应网站设计深圳市年年卡网络科技公司是什么
  • 安卓基础组件017--ImageView组件
  • wordpress 设置多域名 一个站点wordpress个人主页主题
  • 少儿舞蹈小程序(21)我的页面搭建
  • 小程序前端功能更新说明
  • Cartograph+explore_lite未知地形建图
  • FileLocator Pro(文件搜索工具) 多语便携版
  • 兼职做任务的网站免费网站下载直播软件免费
  • RabbitMQ死信交换机:消息的“流放之地“
  • LeetCode每日一题——加1
  • BriLLM框架研究可行性分析
  • 苏州工程网站建设wordpress导航菜单最右边
  • Java SE “泛型 + 注解 + 反射”面试清单(含超通俗生活案例与深度理解)
  • 22408计算机网络(初学)
  • 关于docker pull不了相关资源
  • OSPF Authentication-mode 概念
  • 网站怎么搭建在线编程网站开发
  • 以江协科技STM32入门教程的方式打开FreeRTOS——STM32C8T6如何移植FreeRTOS
  • 企业建设网站有哪些费用网站设计培训学院
  • ORB_SLAM2原理及代码解析:Frame::UnprojectStereo() 函数
  • SLAM算法分类对比
  • 碎片笔记|生成模型原理解读:AutoEncoder、GAN 与扩散模型图像生成机制
  • 中文粤语(广州)语音语料库:6219条高质量语音数据助力粤语语音识别与自然语言处理研究