志在指尖
用双手敲打未来

c#语言的特点是什么

C#言语的特性
C#在带来对应用程序的快速开发才能的同时,并没有牺牲C与C++程序员所关怀的各种特性。它忠实地继承了C和C++的优点。假如你对C或C++有所理解,你会发现它是那样的熟习。即便你是一位新手,C#也不会给你带来任何其它的费事,快速应用程序开发(RapidApplicationDevelopment,RAD)的思想与简约的语法将会使你疾速成为一名纯熟的开发人员。
正如前文所述,C#是特地为.NET应用而开发出的言语。这从基本上保证了C#与.NET框架的圆满分离。在.NET运转库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。让我们来看看C#的一些突出的特性,置信在以后的学习过程中,你将会深深领会到“#”–“SHARP”的真正含义。
●简约的语法
●精心肠面向对象设计
●与Web的严密分离
●完好的平安性与错误处置
●版本处置技术
●灵敏性与兼容性
一、简约的语法
请原谅,固然我们一再强调学习本书不需求任何的编程根底,但在这里还不得不提到C++。
在缺省的状况下,C#的代码在.NET框架提供的“可支配”环境下运转,不允许直接地内存操作。它所带来的最大的特征是没有了指针。与此相关的是,那些在C++中被猖獗运用的操作符(例如:“::”、“->”和“.,”)曾经不再呈现。C#只支持一个“.”,关于我们来说,如今需求了解的一切仅仅是名字的嵌套而已。
C#用真正的关键字换掉了那些把活动模板库(ActiveTemplateLibrary,ALT)和COM搞得乱糟糟的伪关键字,如OLE_COLOR、BOOL、VARIANT_BOOL、DISPID_XXXXX等等。每种C#操作符在.NET类库中都有了新名字。
语法中的冗余是C++中的常见的问题,比方”const”和”#define”、各种各样的字符类型等等。C#对此停止了简化,只保存了常见的方式,而别的冗余方式从它的语法构造中被肃清了进来。c#语言的特点是什么
二、精心肠面向对象设计
或许你会说,从Smalltalk开端,面向对象的话题就一直缠绕着任何一种现代程序设计言语。确实,C#具有面向对象的言语所应有的一切特性:封装、继承与多态性,这并不出奇。但是,经过精心肠面向对象设计,从高级商业对象到系统级应用,C#建造普遍组件的绝对选择。
在C#的类型系统中,每品种型都能够看作一个对象。C#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给运用者带来费事,这在以后的章节中将停止更为细致的引见。
C#只允许单继承,即一个类不会有多个基类,从而防止了类型定义的紊乱。在后面的学习中你很快会发现,C#中没有了全局函数,没有了全局变量,也没有了全局常数。一切的一切,都必需封装在一个类之中。你的代码将具有更好的可读性,并且减少了发作命名抵触的可能。
整个C#的类模型是树立在.NET虚拟对象系统(VisualObjectSystem,VOS)的根底之上,其对象模型是.NET根底架构的一局部,而不再是其自身的组成局部。在下面将谈判到,这样做的另一个益处是兼容性。
借助于从VB中得来的丰厚的RAD经历,C#具备了良好的开发环境。分离本身强大的面向对象功用,C#使得开发人员的消费效率得到极大的进步。关于公司而言,软件开发周期的缩短将能使它们更好对付网络经济的竞争。在功用与效率的杠杆上人们终于找到了支点。
三、与Web的严密分离
.NET中新的应用程序开发模型意味着越来越多的处理计划需求与Web规范相统一,例如超文本标志言语(HypertextMarkupLanguage,HTML)和XML。由于历史的缘由,现存的一些开发工具不能与Web严密地分离。SOAP的运用使得C#克制了这一缺陷,大范围深层次的散布式开发从此成为可能。
由于有了Web效劳框架的协助,对程序员来说,网络效劳看起来就象是C#的本地对象。程序员们可以应用他们已有的面向对象的学问与技巧开发Web效劳。仅需求运用简单的C#言语构造,C#组件将可以便当地为Web效劳,并允许它们经过Internet被运转在任何操作系统上的任何言语所调用。举个例子,XML曾经成为网络中数据构造传送的规范,为了进步效率,C#允许直接将XML数据映射成为构造。这样就能够有效的处置各种数据。
四、完好的平安性与错误处置
言语的平安性与错误处置才能,是权衡一种言语能否优秀的重要根据。任何人都会犯错误,即便是最纯熟的程序员也不例外:遗忘变量的初始化,对不属于本人管理范围的内存空间停止修正,……。这些错误常常产生难以预见的结果。一旦这样的软件被投入运用,寻觅与矫正这些简单错误的代价将会是让人无法接受的。C#的先进设计思想能够消弭软件开发中的许多常见错误,并提供了包括类型平安在内的完好的平安性能。为了减少开发中的错误,C#会协助开发者经过更少的代码完成相同的功用,这不但减轻了编程人员的工作量,同时更有效地防止了错误的发作。
.NET运转库提供了代码访问平安特性,它允许管理员和用户依据代码的ID来配置平安等级。在缺省状况下,从Internet和Intranet下载的代码都不允许访问任何本地文件和资源。比如说,一个在网络上的共享目录中运转的程序,假如它要访问本地的一些资源,那么异常将被触发,它将会无情地被异常扔进来,若拷贝到本地硬盘上运转则一切正常。内存管理中的渣滓搜集机制减轻了开发人员对内存管理的担负。.NET平台提供的渣滓搜集器(GarbageCollection,GC)将担任资源的释放与对象撤销时的内存清算工作。
变量是类型平安的。C#中不能运用未初始化的变量,对象的成员变量由编译器担任将其置为零,当部分变量未经初始化而被运用时,编译器将做出提示;C#不支持不平安的指向,不能将整数指向援用类型,例如对象,当停止下行指向时,C#将自动考证指向的有效性;C#中提供了边境检查与溢出检查功用。
五、版本处置技术
C#提供内置的版本支持来减少开发费用,运用C#将会使开发人员愈加随便地开发和维护各种商业用户。
晋级软件系统中的组件(模块)是一件容易产生错误的工作。在代码修正过程中可能对现存的软件产生影响,很有可能招致程序的解体。为了协助开发人员处置这些问题,C#在言语中内置了版本控制功用。例如:函数重载必需被显式声明,而不会象在C++或java中经常发作的那样不经意地被停止,这能够避免代码级错误和保存版本化的特性。另一个相关的特性是接口和接口继承的支持。这些特性能够保证复杂的软件能够被便当地开发和晋级。
六、灵敏性和兼容性
在简化语法的同时,C#并没有失去灵敏性。虽然它不是一种无限制言语,比方:它不能用来开发硬件驱动程序,在默许的状态下没有指针等等,但是,在学习过程中你将发现,它依然是那样的乖巧。
假如需求,C#允许你将某些类或者类的某些办法声明为非平安的。这样一来,你将可以运用指针、构造和静态数组,并且调用这些非平安代码不会带来任何其它的问题。此外,它还提供了一个另外的东西(这样的称谓几有些不敬)来模仿指针的功用–delegates,代表。再举一个例子:C#不支持类的多继承,但是经过对接口的继承,你将取得这一功用。

未经允许不得转载:IT技术网站 » c#语言的特点是什么
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载