.net学习
1.net和c#的区别
.net的含义:
一般指 .Net Framework框架,是Microsoft为开发应用程序而创建的一个具有革命意义的平台,它可以跨语言,跨平台开发与应用
.NET Framework是用于Windows的新托管代码编程模型。它强大功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。
C#的含义:
可以用C#语言通过Web Forms创建ASP.NET应用程序;它是专门为与Microsoft的.NET Framework一起使用而设计的,(.NET Framework是一个功能非常丰富的平台,可开发、部署和执行分布式应用程序);C#是面向.net的开发语言,但是它不是.net的一部分。
2.net的CLS、CTS、CLR
CLS(Common Language Specification): 这几年编程语言层出不穷,在将来.NET可能还会支持更多的语言,如果说对一个开发者而言掌握所有语言的差异处这是不现实的,所以.NET专门为此参考每种语言并找出了语言间的共性,然后定义了一组规则,开发者都遵守这个规则来编码,那么代码就能被任意.NET平台支持的语言所通用。而与其说是规则,不如说它是一组语言互操作的标准规范,它就是公共语言规范,简称CLS;CLS从类型、命名、事件、属性、数组等方面对语言进行了共性的定义及规范。
CTS(Common Type System):当你需要设计面向.Net的语言时所需要遵循一个体系(.Net平台下的语言都支持的一个体系)这个体系就是CTS(公共类型系统),上面提到的CLS是CTS这个体系中的子集。它包括但不限于:
- 建立用于跨语言执行的框架。
- 提供面向对象的模型,支持在 .NET 实现上实现各种语言。
- 定义处理类型时所有语言都必须遵守的一组规则(CLS)。
- 提供包含应用程序开发中使用的基本基元数据类型(如 Boolean、Byte、Char 等)的库。
CLR(Common language runtime):提供了一些列的如类型安全、应用程序域、异常机制等支持,这些都被统称为CLR公共语言运行库。在我们执行托管代码之前,总会先运行这些运行库代码,通过运行库的代码调用,从而构成了一个用来支持托管程序的运行环境,进而完成诸如不需要开发人员手动管理内存,一套代码即可在各大平台跑的这样的操作。CLR也被称为.net虚拟机。
3.net的类库
基础类库BCL:当你通过VS创建一个项目后,你这个项目就已经引用好了通过.NET下的语言编写好的一些类库。比如控制台中你直接就可以用ConSole类来输出信息,或者using System.IO 即可通过File类对文件进行读取或写入操作,这些类都是微软帮你写好的,不用你自己去编写,它帮你编写了一个面向.NET的开发语言中使用的基本的功能,这部分类,我们称之为BCL(Base Class Library), 基础类库,它们大多都包含在System命名空间下。
基础类库BCL包含:基本数据类型,文件操作,集合,自定义属性,格式设置,安全属性,I/O流,字符串操作,事件日志等的类型
框架类库FCL:由微软开发的类库统称为:FCL,Framework Class Library ,.NET框架类库,我上述所表达的BCL就是FCL中的一个基础部分,FCL中大部分类都是通过C#来编写的。
在FCL中,除了最基础的那部分BCL之外,还包含我们常见的 如 : 用于网站开发技术的 ASP.NET类库,该子类包含webform/webpage/mvc,用于桌面开发的 WPF类库、WinForm类库,用于通信交互的WCF、asp.net web api、Web Service类库等等
4.托管代码
含义:.NET不需要人为内存管理,
.NET提供了一个垃圾回收器(GC)来完成这部分工作,当你创建类型的时候,它会自动给你分配所需要的这部分内存空间。就相当于,有一个专门的软件或进程,它会读取你的代码,然后当你执行这行代码的时候,它帮你做了内存分配工作。 这部分本该你做的工作,它帮你做了,这就是“托管”的概念;C#被称之为托管语言。C#编写的代码也就称之为托管代码,C#生成的模块称之为托管模块
5 .net framework 和 .net core的区别
.NET Core 它是其它操作系统的.NET Framework翻版实现。
6.net关键词
程序集、csc.exe、宿主进程、运行主机
作者:卢一
出处:http://www.cnblogs.com/luyi001/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。