C# .NET 和.NET Framework区别
一,C#简介
1>C#是一种面向对象的、运行于.NET Framework之上的高级程序设计语言。
2>C# 是一种简洁、类型安全的面向对象的语言,开发人员可以使用它来构建在 .NET Framework 上运行的各种安全、可靠的应用程序。
3>C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。
4>C#是面向对象的编程语言。
5>C# 是一个类型安全的语言,类型安全允许编译器(可信赖地)捕获潜在的错误,而不是在程序运行时才发现
二,.NET简介
1>.NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序。)
2>.NET就是微软用来实现XML,Web Services,SOA(面向服务的体系结构service-oriented architecture)和敏捷性的技术。
3>.NET是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。
4>.Net 支持众多的编程语言,所有的编程语言编写的代码都将最终交给 CLR 来执行,因此 .Net 是“语言无关”的。目前微软推出的用于 .Net 开发的语言有:VB.NET J# C# F#,现在的 VC++ 也支持托管 .Net 编程。
三,.Net FrameWork 框架简介
.Net FrameWork 框架是管理面向 .NET Framework 的应用程序的运行时执行环境。 它包括公共语言运行时(提供了内存管理和其他系统服务)和一个全面的类库(它使程序员能利用应用程序开发的所有主要区域的强大且可靠的代码)。
.Net FrameWork 框架是为其运行的应用程序提供各种服务的托管执行环境。 它包括两个主要组件:作为处理运行的应用程序的执行引擎的公共语言运行时 (CLR);以及 .NET Framework 类库,此类库提供开发人员可从其自己的应用程序中调用的已测试的可重用代码库。 .NET Framework 提供的用于运行应用程序的服务包括:
1>内存管理。 在许多编程语言中,程序员负责分配和释放内存并处理对象生存期。 在 .NET Framework 应用程序中,CLR 代表应用程序提供这些服务。
2>常规类型系统。 在传统编程语言中,基本类型由编译器定义,这将使跨语言互操作性复杂化。 在 .NET Framework 中,基本类型由 .NET Framework 类型系统定义,并且是面向 .NET Framework 的所有语言所共有的。
3>一个全面的类库。 程序员可以从 .NET Framework 类库中使用类型及其成员的易于访问的库,而不必编写大量代码来处理常见的低级编程操作。
4>开发框架和技术。 .NET Framework 包括应用程序开发的特定区域的库,如 Web 应用程序的 ASP.NET,数据访问的 ADO.NET 和面向服务的应用程序的 Windows Communication Foundation。
5>语言互操作性。 面向 .NET Framework 的语言编译器发出名为公共中间语言 (CIL) 的中间代码,反过来,通过公共语言运行时在运行时进行编译。 使用此功能,以一种语言编写的例程可由另一种语言访问,并且程序员可以将精力集中在使用其首选语言创建应用程序上。
6>版本兼容性。 除少数例外,通过使用 .NET Framework 的特定版本开发的应用程序可以运行,而无需在更高版本中进行修改。
7>并行执行。 通过允许同一台计算机上存在公共语言运行时的多个版本,.NET Framework 可帮助解决版本冲突。 这意味着应用程序的多个版本也可以共存,并且应用程序可在构建它的 .NET Framework 版本上运行。
8>多定向。 通过定向 .NET Framework 可移植类库,开发人员可创建在多个 .NET Framework 平台(例如,Windows 7、Windows 8、Windows 8.1、Windows 10、Windows Phone 和 Xbox 360)上工作的程序集。
PS .NET Framework 类库:是一个有类,接口,值类型组成的库。通过该库中的内容可访问系统中的功能。他是生成.NET Framework应用程序,组件,控件的基础。
综上总结三者之间关系:
1》C#是支持.Net技术平台开发的众多语言中的一种,而使用C#所开发的.NET应用程序源代码被编译成为中间代码,然后通过.Net FrameWork 框架的虚拟机(即CLR)来执行。
2》而最终目的是C#所开发的.NET应用程序通过 Internet 进行与其他语言开发出来的.NET应用程序进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。
C# .NET 和.NET Framework区别的更多相关文章
- IOS静态库和Framework区别
一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复制,程序运行时由系 ...
- 【转】iOS库 .a与.framework区别
转自:http://blog.csdn.net/lvxiangan/article/details/43115131 一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态 ...
- 拥抱.NET Core,如何开发一个跨平台类库 (1)
在此前的文章中详细介绍了使用.NET Core的基本知识,如果还没有看,可以先去了解“拥抱.NET Core,学习.NET Core的基础知识补遗”,以便接下来的阅读. 在本文将介绍如何配置类库项目支 ...
- windows类书的学习心得
原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...
- iOS动态库和静态库的运用
概念认识 什么是库 库是共享程序代码的方式,库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.在开发过程中,一些核心技术或者常用框架,出于安全性和稳定性的考虑,不想被外界知道,所以会把 ...
- JetBrains Rider C# 学习①
Rider 发现 Alt+F7 键无效: 把GeForce Experience里的游戏覆盖关闭 前言 C#从入门到精通 链接:https://pan.baidu.com/s/1UveJI_f-c5D ...
- NHibernate与EF(Entity Framework)的区别
http://www.cnblogs.com/lukun/archive/2011/05/16/2047587.html NHibernate与EF(Entity Framework)的区别 http ...
- 简单概述 .NET Framework 各版本区别
目前已发行的版本有1.0.1.1.2.0.3.0.3.5.4.0.4.5(及4.5.1.4.5.2).4.6(及4.6.1). 1.0版本:最初的.net framework版本,作为一个独立的工具包 ...
- .NET Framework 各版本区别
.NET Framework 各版本区别 .NET Framework 1.1 自1.0版本以来的改进:自带了对mobile asp .net控件的支持.这在1.0版本是以附加功能方式实现的,现在已经 ...
随机推荐
- spring-boot-shiro-jwt-redis实现登陆授权功能
一.前言 在微服务中我们一般采用的是无状态登录,而传统的session方式,在前后端分离的微服务架构下,如继续使用则必将要解决跨域sessionId问题.集群session共享问题等等.这显然是费力不 ...
- HIbernate 查询拼接参数
public List<TrailTestModel> findByEid(List<String> trailids, String eid) { // TODO Auto- ...
- [BZOJ5466][NOIP2018]保卫王国 倍增
题面 首先可以写一个暴力dp的式子,非常经典的树形dp \(dp[i][0]\)表示\(i\)这个点没有驻军,\(dp[i][1]\)就是有驻军,\(j\)是\(i\)的孩子.那么显然: \[ \be ...
- BZOJ2002 [HNOI2010] 弹飞绵羊
LCT access完了一定splay再用!!! 悲伤= = LCT裸题 把调出去设虚点n+1即可 //Love and Freedom. #include<cstdio> #includ ...
- python 的文件编码处理
python的文件编码处理有点粗鲁 1.不管文件原来是编码类型,读入后都转换成Unicode的编码 2.写入文件时,write函数把变量以读入文件的编码方式写入(根据open(path,mode,en ...
- python2和python3的编码encode解码decode函数
python比较坑的一个点:意义完全变了的两个函数 首先 常用的编码方式有3种,utf-8: 常用的传输和存储格式,Unicode的一种简化 Unicode:包括了所有可能字符的国际统一编码 GBK ...
- springmvc把对象放到session中
1:首先把创建的对象放到Map中, @RequestMapping("/testSession") public String testSession(Map<Stri ...
- POJ 3481 Double Queue (treap模板)
Description The new founded Balkan Investment Group Bank (BIG-Bank) opened a new office in Bucharest ...
- JS中数据结构之队列
队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素.队列用于存储按 顺序排列的数据,先进先出. 队列的两种主要操作是:向队列中插入新元素和删除队列中的元素.插入操作也叫做入 队,删除操作也 ...
- [杂题]:staGame(博弈论+Trie树+DFS)
题目描述 $pure$和$dirty$决定玩$T$局游戏.对于每一局游戏,有$n$个字符串,并且每一局游戏由$K$轮组成.具体规则如下:在每一轮游戏中,最开始有一个空串,两者轮流向串的末尾添加一个字符 ...