【春华秋实】.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的工作流程。

【春华秋实】.NET Framework与.NET Core的更多相关文章
- .NET Framework和 .Net Core实现不一致的API之 `EmailAddressAttribute`
.NET Framework和 .Net Core实现不一致的API之 EmailAddressAttribute Intro 现在我们的类库项目大多是 NETStandard2.0 项目,但是 ne ...
- .NET Framework VS .NET Core
本文对应的原文来至 c-sharpcorner 的一篇文章,文末有链接.如有错误,还请指正. 前言 你会为你的下一个应用程序选择哪一种开发平台 - .NET Framework 或者 .NET Cor ...
- 开源且功能强大的C# 扩展方法类库Pure.Ext,包含1000+个拓展方法 (支持.Net Framework和.Net Core)
先上地址 Github: https://github.com/purestackorg/pure.ext Gitee: https://gitee.com/purestack/pure.ext 扩展 ...
- .net core系列之《.net平台历程介绍以及.net framework和.net core对比》
一..Net平台的背景 1.2010之前 的PC时代的时候,互联网规模还不是特别庞大,以静态编译式语言为代表的JAVA和.Net没什么太大区别,.net以windows自居. 2.2010年以JAVA ...
- [转]浅谈 .NET Framework 与 .NET Core 的区别与联系
本文转自:http://www.cnblogs.com/huchaoheng/p/6295688.html 2017到了,咱们学点啥啊,要想知道学点啥,先弄清.NET Framework 与 .NET ...
- 浅谈 .NET Framework 与 .NET Core 的区别与联系
2017到了,咱们学点啥啊,要想知道学点啥,先弄清.NET Framework 与 .NET Core 这两个概念 .当今 net 生态系统如下: 从上面图中我们可以看到.net 主要分为三个部分 ...
- 分别在.NET Framework 与 .NET Core 框架下 编写Windows Service(windows服务程序)
前言,为什么会分别在两个框架下编写Windows Service,是因为最近在做区块链这块,使用的是NEO(小蚁区块链)的相关技术,NEO使用的是.net core 2.1,业务上需要写两个程序,一个 ...
- NET?.NET Framework?.NET Core?
什么是.NET?什么是.NET Framework?什么是.NET Core? https://www.cnblogs.com/1996V/p/9037603.html 什么是.NET?什么是.NET ...
- NET Framework、.NET Core、Xamarin
认识.NET Core 上篇介绍了.NET 新的生态环境:包括.NET Framework..NET Core.Xamarin三驾马车 其中.NET Framework是基于Windows平台专属的开 ...
- .NetCore技术研究-一套代码同时支持.NET Framework和.NET Core
在.NET Core的迁移过程中,我们将原有的.NET Framework代码迁移到.NET Core.如果线上只有一个小型的应用还好,迁移升级完成后,只需要维护.NET Core这个版本的代码. 但 ...
随机推荐
- Unity3D编辑器扩展(六)——模态窗口
前面我们已经写了5篇关于编辑器的,这是第六篇,也是最后一篇: Unity3D编辑器扩展(一)——定义自己的菜单按钮 Unity3D编辑器扩展(二)——定义自己的窗口 Unity3D编辑器扩展(三)—— ...
- python turtle库
turtle库初步 先看 https://www.cnblogs.com/chy8/p/9448606.html 一 turtle库介绍 turtle乌龟 import turtle from tur ...
- 关于信息系统设计与开发——案例:VIP系统
一.关于信息系统设计与开发 信息系统开发流程先对需求分析系统分析,设计数据库,设计程序,再对测试数据进行测试. 在程序设计中运用了接口:定义一个接口,可以有多种实现.变量声明为接口变量,调用接口方法, ...
- Object constraint language for code generation from activity models
一.基本信息 标题:Object Constraint Language for Code Generation from Activity Models 时间:2018 出版源:Informatio ...
- Python基础-if判断以及其他循环
if else 判断: #!/usr/bin/env python # -*- coding:utf-8 -*- import getpass name = input("用户名??&quo ...
- IDEA的Database表的基本操作
1.创建表 方法一:直接创建:右键-new-table 方法2: 参考别的表,直接用语句,右键-DDL and Sources- 然后直接在控制台修改 修改后直接运行,表就建好了 2.备份表 先用上面 ...
- 本学期Windows编程微型技术博客上线!
将两篇报告生成超链接模式方便阅读,以下为链接: https://files.cnblogs.com/files/Kitty-/Windows编程微型技术报告一.pdf https://files.cn ...
- 网络编程——I/O复用
int select( int nfds, fd_set FAR* readfds, fd_set * writefds, fd_set * exceptfds, const struct timev ...
- 自兴人工智能 python特点了解
计算机语言从语言执行分类来看,大概可分为编译型语言(如Java.c++)和解释型语言(如python.javascript) 1.编译型语言 java c++ 编写源代码.java ---> ...
- 使用jquery实现文本框输入特效:文字逐个显示逐个消失反复循环
前两天看到某个网站上的输入框有个小特效:文字逐个显示,并且到字符串最大长度后,逐个消失,然后重新循环显示消失,循环显示字符串数组.我对这个小特效有点好奇,于是今天自己尝试用jquery写一个简单的小d ...