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应用程序进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。

原文地址:https://www.cnblogs.com/May-day/p/6431364.html