开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第8天,点击查看活动详情
- 什么是DotNet?
DotNet 首先是一个开放平台,它定义了一种公用语言子集(Common Language Subset, CLS),这是一种为符合器规范的语言与类库之间提供无缝集成的混合语言。
DotNet统一了编程类库,提供了对下一代网络通信的标准
DotNet的意义就在于只用统一的命令集支持任何的编程语言。
- DotNet的核心组件
1)一组用于创建互联网操作系统的构建块,其中包括:Passport.Net(用于用户认证)以及用于文件存储的服务、用户首选项管理、日志管理以及众多的其他任务
2)构建和管理新一代服务的基本结构和工具,包括 Visual Studio.Net、.Net企业服务器、.Net Framework和Windows.Net。
3)能够启用新型智能互联网设备的.Net设备软件
4).Net用户体验
- DotNet与C#
1)支持多中编程语言的.Net框架
通过创建跨编程语言的公共API集,DotNet框架提供强大的跨语言继承性、错误处理和调试功能。
DotNet框架是DotNet平台的基础框架。其强大功能来自于公共语言运行时(Common Language Runtime,CLR)环境和类库。
CLR和类库(包括:Windows Forms、Ado.Net、Asp.Net)紧密结合在一起,提供了不同系统之间交叉与综合的解决方案和服务。
DotNet框架创造了一个完全可操作的、安全的、特性丰富的应用执行环境。这不但使得应用程序的开发与发布更加简单,而且成就了众多种类语言之间的无缝集成。
2)面向.Net的全新开发工具:C#
C#是一种现代的面向对象的程序开发语言;
C#是专门为.Net应用而开发出来的语言;
使用C#语言设计的组件能够用于Web服务,这样通过Internet,可以被运行于任何操作系统上任何编程语言所调用。
- C#语言的特点
1)简介的语法
> 舍弃了指针,默认情况下不允许直接进行内存操作
> 舍弃了C++中很多操作符的使用
> 使用了关键字替换掉了C++中很多伪关键字
> C# 省去了C++中冗余的语法
2)精心地面向对象设计
> 在C#的类型系统中,每种类型都可以看作一个对象,通过装箱和拆箱操作完成。
C#只允许单继承,舍弃了全局函数、全局变量、全局常量等概念。
C#的类模型是建立了在DotNet虚拟对象系统(Visual Object System,VOS)的基础上,其对象模型是DotNer基础架构的一部分么人不再是其本身的组成成分。
3)与web的紧密结合
SOAP的使用,是C#能与Web精密地结合(比如HTML和XML),使大规模深层次的分布式开发从此成为可能。
C#组件将能够方便地为Web服务,并允许它们通过Internet被运行在任何操作系统上的任何语言所调用。比如:XML已经成为网络中数据结构传递的标准,为了提高效率,C#允许直接将XML数据映射成为结构,这样可以有效的处理各种数据。
4)完整的安全性与错误处理机制
DotNet运行库提供了代码访问安全特性,它允许管理员和用户根据代码的ID来配置安全等级。
变量使安全的。C#中不能使用未初始化的变量,对象的成员变量由编译器负责将其置为零,当局部变量未初始化而被使用的时候,编译器会做出提醒。
C#中提供了边界检查与溢出检查功能。
5)版本处理技术
C#在语言中内置了版本控制功能。例如:函数重载必须被显示的声明,而不会像在C++或者Java中经常发生的那样不经意地被进行,这可以防止代码级错误和保留版本化的特性。
另一个相关特性是接口和接口继承的支持
6)灵活性与兼容性
灵活性:
如果需要,C#允许你将某些类或者类的某些方法声明问非安全的,这样就能使用指针、结构和静态数组
C#还提供另外一种功能delegates来模拟指针
C#不支持多继承,但是通过对接口的继承,你将获得这一功能
兼容性:
> C#遵守.Net的公共语言规范(Common Language Specification,CLS),从而保证了C#组件与其他语言组件之间的互操作性。
> 元数据(Metadata)概念的引入既保证了兼容性,又实现了类型安全。