是什么
.net就是微软用来实现XML、Web Services、SOA和敏捷性的技术。
简单来说,.net 一般是指net.framework框架,一种平台,一种技术
能干什么
开发桌面应用程序 Winform
Internet应用程序 ASP.NET
手机开发 wp8
两种交互模式
C/S:客户机(Client)/服务器模式(Server)
例如:QQ 需要QQ的EXE执行文件客户端
B/S:浏览器(Browser)/服务器模式(Server)
例如:网易博客登录就是应用网页的形式
两种模式的异同:
同:都要网络,因为.net需要依靠网络传输,对消息进行传递
异:
硬件环境 | 对安全要求 | 处理问题 | |
C/S | 专用网络,小范围局域网 | 面向固定用户,信息安全控制能力强 | 和本地硬件、程序的交互性很强,可以控制本机其他程序、可以读写本地磁盘文件、可以与硬件交流 |
B/S | 广域网 | 面向不可知用户,安全控制能力相对弱 | 与操作系统平台关系小,很难与本地硬件、程序、文件进行交互,一般用ActiveX技术解决 |
.NET Framework
CLR(Common Language Runtime):公共语言运行时,就是GC、JIT等这些。有不同的CLR,比如服务器CLR、LinuxCLR(Mono)、SilverlightCLR。相当于一个发动机
CLS(Common Language Specification):公共语言规范,不同语言语法的不同。每种语言都有自己的语法,.Net通过CLS提供了公共的语法,然后不同语言翻译生成对应的.Net语法。
CTS( CommonType System):通用类型系统,Int32、Int16→int、String→string、Boolean→bool。每种语言都定义了自己的类型,.Net通过CTS提供了公共的类型,然后翻译生成对应的.Net类型。
C#与.Net的区别
C#只是抽象的语言,可以把C#编译生成Java平台的二进制代码,也可以把Java代码编译生成.Net平台的二进制代码。所以C#只是提供了if、while、+-*/、定义类、int、string等基础的语法,而Convert.ToInt32、FileStream、SqlConnection、String.Split等都属于.Net的东西。
类型的差别:
.net中的Int32在C#中是int,在VB.Net中是Integer。
语法的差别:
创建一个新的对象时,C#中是newC1();VB.net中是Dimc1 As New C1