使用C#开发应用程序比使用C++简单,因为其语法比较简单。但是,C#是一种强大的语言,在C++中能完成的任务利用C#也能完成。如前所述, C#中与C++比较高级的功能等价的功能(例如直接访问和处理系统内存),只能在标记为“不安全”的代码中使用。这个高级编程技术是非常危险的(正如它的 名称),因为它可能覆盖系统中重要的内存块,导致严重的后果。因此,本书不讨论这个问题。
C#代码常常比C++略长一些。这是因为C#是一种类型安全的语言(与C++不同)。在外行人看来,这表示一旦为某些数据指定了类型,就不能转换 为另一个不相关的类型。所以,在类型之间转换时,必须遵守严格的规则。执行相同的任务时,用C#编写的代码通常比C++长。但C#代码更健壮,调试也比较 简单,.NET总是可以随时跟踪数据的类型。在C#中,不能完成诸如“把4字节的内存放在这个数据中,使之有10个字节长,并把它解释为X”等的任务,但 这并不是一件坏事。
C#只是.NET开发的一种语言,但在我看来,这是最好的一种语言。C#的优点是,它是惟一为.NET Framework设计的语言,是在移植到其他操作系统上的.NET版本中使用的主要语言。要使语言如VB.NET尽可能类似于其以前的语言,且仍遵循 CLR,就不能完全支持.NET代码库的某些功能。但C#能使用.NET Framework代码库提供的每种功能。.NET的最新版本还对C#语言进行了几处改进,这是为了满足开发人员的要求,使之更强大。
用C#能编写什么样的应用程序
如前所述,.NET Framework没有限制应用程序的类型。C#使用.NET Framework,所以也没有限制应用程序的类型。这里仅讨论几种常见的应用程序类型。
● Windows应用程序 这些应用程序如Microsoft Office,有我们很熟悉的Windows外观和操作方式,使用.NET Framework的Windows Forms模块就可以生成这种应用程序。Windows Form模块是一个控件库,其中的控件(例如按钮、工具栏、菜单等)可以用于建立Windows用户界面(UI)。
● Web应用程序 这些是Web页,可以通过任何Web浏览器查看。.NET Framework包括一个动态生成Web内容的强大系统,允许个性化、实现安全性等。这个系统叫作Active Server Pages.NET (ASP.NET),我们可以使用C#通过Web Forms 创建ASP.NET应用程序。
● Web服务 这是创建各种分布式应用程序的新方式,使用Web服务可以通过Internet虚拟交换数据。无论使用什么语言创建Web服务,也无论Web服务驻留在什么系统上,都使用一样简单的语法。
这些类型也需要某种形式的数据库访问,这可以通过.NET Framework的Active Data Objects.NET(ADO.NET)部分来实现。也可以使用许多其他资源,例如创建联网组件、输出图形、执行复杂数学任务的工具。