一,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区别的更多相关文章

  1. IOS静态库和Framework区别

    一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复制,程序运行时由系 ...

  2. 【转】iOS库 .a与.framework区别

    转自:http://blog.csdn.net/lvxiangan/article/details/43115131 一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态 ...

  3. 拥抱.NET Core,如何开发一个跨平台类库 (1)

    在此前的文章中详细介绍了使用.NET Core的基本知识,如果还没有看,可以先去了解“拥抱.NET Core,学习.NET Core的基础知识补遗”,以便接下来的阅读. 在本文将介绍如何配置类库项目支 ...

  4. windows类书的学习心得

    原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千 ...

  5. iOS动态库和静态库的运用

    概念认识 什么是库 库是共享程序代码的方式,库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行.在开发过程中,一些核心技术或者常用框架,出于安全性和稳定性的考虑,不想被外界知道,所以会把 ...

  6. JetBrains Rider C# 学习①

    Rider 发现 Alt+F7 键无效: 把GeForce Experience里的游戏覆盖关闭 前言 C#从入门到精通 链接:https://pan.baidu.com/s/1UveJI_f-c5D ...

  7. NHibernate与EF(Entity Framework)的区别

    http://www.cnblogs.com/lukun/archive/2011/05/16/2047587.html NHibernate与EF(Entity Framework)的区别 http ...

  8. 简单概述 .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版本,作为一个独立的工具包 ...

  9. .NET Framework 各版本区别

    .NET Framework 各版本区别 .NET Framework 1.1 自1.0版本以来的改进:自带了对mobile asp .net控件的支持.这在1.0版本是以附加功能方式实现的,现在已经 ...

随机推荐

  1. GeneXus笔记本—GeneXusIDE如何切换成中文语言

    嘛 有些人可能比较习惯英文IDE,但是有些人就比较难受 所以为了应对各个地区的差异 GeneXus很人性化的自带了一部分国家的语言包 只不过默认是英文 需要改动一下_(:з」∠)_ 右键你的IDE快捷 ...

  2. What are draw calls(绘制命令) and what are batches(批)

    Resolution It is important to know what are draw calls and what are batches. A draw call is a call t ...

  3. liunx-网络基础

    liunx 网络配置  ifconfig: ipconfig -a ;显示信息 ifconfig eth1 up //开启网络接口 ifconfig eth1 down //关闭网络接口 ifconf ...

  4. 一、WebFrom 图片上传

    一.代码实现了简单的图片上传功能(改一下也可以上传其他的),没有做图片大小和格式的判断,主要是熟悉fileupload控件 前台代码: <%@ Page Language="C#&qu ...

  5. 如何去除inline-block的默认间距

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...

  6. mangodb语句

    { field: { $exists: <boolean> } }

  7. 09.事务管理、整合jpa、整合mybatis

    事务管理 spring-boot-starter-jdbc会自动默认注入DataSourceTransactionManager spring-boot-starter-data-jpa会自动默认注入 ...

  8. C#高级编程笔记(22至25章节)文件\注册表\权限\事务

    22安全(using System.Security.Principal;) AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.Wi ...

  9. el-tag标签使用三元表达动态改变type类型

    <el-tag :type="item.payCode=='在线' ? 'success' : 'danger'" >{{item.payCode}}</el-t ...

  10. LinuxMySQL主从复制原理图

    主库开启dump线程 从bin-log中取出数据 从库开启io线程和sql线程   io线程不断从主库中的dump线程中那到最新的bin-log和io线程中的master-info的数据进行比较,如果 ...