专栏首页DotNet Core圈圈.NET Framework与.NET Core

.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的工作流程。

本文分享自微信公众号 - DotNet技术平台(DotNetCore_Mements),作者:艾心0626

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • .NET Core之只是多看了你一眼

    技术学习是一件系统性的事情,如果拒绝学习,那么自己就会落后以至于被替代。.NET也是一样,当开源、跨平台成为主流的时候,如果再故步自封,等待.NET的就是死路一...

    Edison.Ma
  • 刷新:重新发现.NET与未来

    当时的微软对我来说就是神的存在。因为我认识电脑到使用电脑的一切几乎都离不开这家伟大的公司,它就像上帝一样开天辟地,创造万物:Windows、Office、IE这...

    Edison.Ma
  • 一张图来看看.NETCore和前后端技术的演进之路

    2019年3月10日,在长沙.NET 技术社区组织的技术沙龙《.NET Core和前后端分离那些事儿》上,我们曾经试图通过一系列抽丝剥茧的过程来引导大家在这条基...

    Edison.Ma
  • .NET Core 已经实现了PHP JIT,现在PHP是.NET上的一门开发语言

    12月23日,由开源中国联合中国电子技术标准化研究院主办的2017源创会年终盛典在北京万豪酒店顺利举行。在本次大会上,链家集团技术副总裁、PHP 开发组核心成员...

    张善友
  • .NET Core 已经实现了PHP JIT,现在PHP是.NET上的一门开发语言

    张善友
  • ASP.NET Web API 2中的错误处理

    前几天在webapi项目中遇到一个问题:Controller构造函数中抛出异常时全局过滤器捕获不到,于是网搜一把写下这篇博客作为总结。

    雪飞鸿
  • 黑客成功破解ATM盗取百万美元

    由于黑客新发现了一种非常危险的破解ATM盗取现金的手段,美国联邦监管机构已经提醒各银行对此进行防范。这种手段的危险之处在于无论储户的存款额有...

    安恒信息
  • CMAKE入门实战

    最近做的项目使用CLION构建,而这个采用CMakeLists.txt管理,因此为了更好的学习,故找到了一篇大牛级别的入门文章,有文章有代码,本文是花了一点时间...

    公众号guangcity
  • 聊聊reactive streams的processors

    processors既是Publisher也是Subscriber。在project reactor中processor有诸多实现,他们的分类大致如下:

    codecraft
  • Android 解析RecyclerView(3)——以更简单的方法实现带顶部View和底部View的RecyclerView

    叶应是叶

扫码关注云+社区

领取腾讯云代金券