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版本是以附加功能方式实现的,现在已经 ...
随机推荐
- ubuntu下安装c man文档
http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/libstdc%2b%2b/doxygen/ 下载 http://www.mirro ...
- 理解Thread.sleep()函数
转载自:http://www.cnblogs.com/ILove/archive/2008/04/07/1140419.html 我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间 ...
- linux性能分析工具free
- Vue 侦听属性
Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属性 <!DOCTYPE html> <html> <head> <meta cha ...
- 罗技K380使用手册
Ipad最佳伴侣|码字神器|罗技K380|附使用指南 ———— 为了方便平时在家处理工作➕写小红书笔记,年初买了个Ipad2018 我以前买过一个罗技的K480,因为太重了不方便携带,于是又入了K38 ...
- 谈一谈测试驱动开发(TDD)的好处以及你的理解
DD是指在编写真正的功能实现代码之前先写测试代码,然后根据需要重构实现代码.在JUnit的作者Kent Beck的大作<测试驱动开发:实战与模式解析>(Test-Driven Develo ...
- HTML5 arc的例子
demo.html <!DOCTYPE html> <html lang="zh"> <head> <meta charset=" ...
- bzoj5049 [Lydsy1709月赛]导航系统 双向bfs
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=5049 题解 题面里面满眼的随机.既然数据完全随机,那就是在锻炼选手的乱搞能力啊. 根据一个常用 ...
- Python的"random"函数的使用(一)
random.randrange(1,10) 随机产生0~7之间的整数,不包含7. random.sample(range(100), 5) 随机从range(100)中产生5个数,放入一个list. ...
- c# 如何获取系统管理员权限(UAC) 及判断当前是否是管理员权限
环境说明: VS2012,windows 7 亲自验证过win7 和xp ,XP直接不弹框,因为XP没有UAC控制机制 步骤1: 右键项目-->属性-->安全性-->选中[启用Cl ...