.NET Framework与.NET Core
C#是微软发布的面向对象的,运行与.NET Framework之上的高级程序设计语言,属于编译型语言,也是目前.NET Framework的主角。C#语言语法简单而优雅,同时也有着很高的开发效率,尤其是在网络编程方便有着广泛的应用。目前C#已经成为一种跨平台的语言,可以运行于Windows、Linux、Mac等其他平台上。.NET Framework包含公共语言运行时(CLR)和.NET Framework 类库,其中包括各种功能和对许多行业标准的支持。NET Framework 提供许多服务,包括内存管理、类型和内存安全、安全性、网络和应用程序部署。它提供易于使用的数据结构和API,将较低级别的Windows操作系统抽象化。可在.NET Framework中使用各种编程语言,包括C#、F#和Visual Basic。
目前已经发展到了.NET Core,支持跨平台,开发跨平台应用需要安装.NET Core SDK。未来.NET Framework的API基本都会迁移到.NET Core中,并会进行进一步优化与升级。
以下是.NET Core未来的发展方向
以下为.NET Framework的基本结构
其中BCL(Base Class Library,基类库):是.NET框架使用的一个大的类库,而且也可以在你的程序中使用。包括以下一些类。
- 通用基础类:这些类提供了一组极为强大的工具,可以应用带广泛的编程任务中,比如字符串操作、安全和加密。
- 集合类:这些类实现了列表、字典、散列表以及位数组。
- 线程和同步类:这些类用于创建多线程程序。
- XML类,这些类用于创建、读取以及操作XML文档。
CLR即公共语言运行库(Common Language Runtime),和Java虚拟机一样也是一个运行时环境。C#编译之后是在CLR环境中运行的。公共语言运行时的功能通过编译器和工具公开,你可以编写利用此托管执行环境的代码。 使用基于公共语言运行时的语言编译器开发的代码称为托管代码;托管代码具有许多优点
- 跨语言集成
- 跨语言异常处理
- 增强的安全性
- 版本控制和部署支持
- 简化的组件交互模型
- 调试和分析服务等
正是CLR使.Net Framework并不是Win32 API和COM的一个抽象层,而是有了自己的"操作系统"。它主要有以下功能:
- 基类库支持 (Base Class Library Support)
- 内存管理 (Memory Management)
- 线程管理 (Thread Management)
- 垃圾回收 (Garbage Collection)
- 安全性 (Security)
- 类型检查 (Type Checker)
- 异常处理 (Exception Manager)
- 即时编译 (JIT)
以下为CLR的工作流程。
以上为本篇文章的主要内容,希望大家多提意见,如果喜欢记得点个推荐哦
作者: 艾心
出处: https://www.cnblogs.com/edison0621/
本文版权归作者和博客园共有,欢迎转载,转载时保留原作者和文章地址即可。