1.6 C#语言的特点
C#是专门为.NET应用而开发出的语言。这从根本上保证了C#与.NET框架的完美结合。在.NET运行库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。让我们先来看看C#的一些突出的特点,相信在以后的学习过程中你将会深深体会到。
· 语法简洁
· 良好的面向对象设计思想
· 与Web的紧密结合
· 灵活性与兼容性
1.语法简洁
在默认情况下,C#的代码在.NET框架提供的“可操控”环境下运行,不允许直接地进行内存操作。它所带来的最大特色是没有了指针。与此相关的,那些在C++中被疯狂使用的操作符(例如,“::”“->”等)已经不再出现。
C#用真正的关键字换掉了那些把活动模板库(Active Template Library,ALT)和COM搞得乱糟糟的伪关键字,如OLE_COLOR BOOL VARIANT_BOOL DISPID_XXXXX等。每种C#类型在.NET类库中都有了新名字。
语法中的冗余是C++中的常见问题,比如“const”和“#define”各种各样的字符类型定义形式等。C#对此进行了简化,只保留了常见的形式,而其他的冗余形式都从它的语法结构中被清除了出去。
2.良好的面向对象设计思想
C#具有面向对象的语言所应有的一切特性:封装、继承与多态等内容。
整个C#的类模型建立在.NET虚拟对象系统(Visual Object System,VOS)的基础之上,其对象模型是.NET基础架构的一部分,而不再是其本身的组成成分。C#具备了良好的开发环境,结合自身强大的面向对象功能,C#使得开发人员的生产效率得到极大的提高。
3.与Web的紧密结合
.NET中新的应用程序开发模型意味着越来越多的解决方案需要与Web标准相统一,例如超文本标记语言(Hypertext Markup Language,HTML和XML)。由于历史的原因,现存的一些开发工具不能与Web紧密地结合。SOAP的使用使得C#克服了这一缺陷,大规模深层次的分布式开发从此成为可能。
由于有了Web服务框架的帮助,对程序员来说,网络服务看起来就像是C#的本地对象。程序员们能够利用他们已有的面向对象的知识与技巧开发Web服务。仅需要使用简单的C#语言结构,C#组件将能够方便地为Web服务,并允许它们通过Internet被运行在任何操作系统上的任何语言所调用。
4.灵活性和兼容性
在简化语法的同时,C#并没有失去灵活性。在学习过程中,你将发现它仍然是那样的灵巧。
正是由于其灵活性,C#允许与C风格的需要传递指针型参数的API进行交互操作,DLL的任何入口点都可以在程序中进行访问。C#遵守.NET公用语言规范(Common Language Specification,CLS),从而保证了C#组件与其他语言组件间的互操作性。