1、 C#的优点 C#在某种程度上可以看作是 .NET 面向 Windows 环境的一种编程语言。在过去的十几年里, Microsoft 给 Windows 和 Windows API 添加了许多功能, VB 和 C+也经历了许多变化。虽然 VB 和 C+最终已成为非常强大的语言,但这两种语言也存在问题,因为它们保留了原来的一些内容。 对于 Visual Basic 来说,它的主要优点是很容易理解,许多编程工作都很容易完成,基本上隐藏了 Windows API 和 COM 组件结构的内涵。其缺点是 Visual Basic 从来没有实现真正意义上的面向 对象,所以大型应用程序很难分解和维护。另外,
2、因为 VB 的语法继承于BASIC 的早期版本 (BASIC 主要是为了让初学者更容易理解,而不是为了编写大型商业应用程序 ),所以不能真正成为结构化或面向对象的编程语言。 另一方面, C+在 ANSI C+语言定义中有其自己的根。它与 ANSI不完全兼容,因为 Microsoft 是在 ANSI 定义标准化之前编写 C+编译器的,但已经相当接近了。遗憾的是,这导致了两个问题。其一,ANSI C+是在十几年前的技术条件下开发的,因此不支持现在的概念 (例如 Unicode 字符串和生成 XML 文档 ),某些古老的语法结构是为以前的编译器设计的 (例如成员函数的声明和定义是分开的 )。其二,
3、Microsoft 同时还试图把 C+演变为一种用于在 Windows 上执行高性能任务的语言 在语言中避免添加大量 Microsoft 专用的关键字和各种库。其结果是在 Windows 中,该语言成为了一种非常杂乱的语言。让一个 C+开发人员说说字符串有多少个定义方式就可以说明这一点: char*、 LPTSTR、 string、 CString (MFC 版本 )、 CString (WTL 版本 )、 wchar_t*和 OLECHAR*等。 现在进入 .NET 时代 一种全新的环境,它对这两种语言都进行了新的扩展。 Microsoft 给 C+添加了许多 Microsoft 专用的关键
4、字,并把 VB 演变为 VB.NET,保留了一些基本的 VB 语法,但在设计上完全不同,从实际应用的角度来看, VB.NET 是一种新语言。 在这里, Microsoft 决定给开发人员另一个选择 专门用于 .NET、具有新起点的语言, 即 Visual C# .NET。 Microsoft 在正式场合把 C#描述为一种简单、现代、面向对象、类型非常安全、派生于 C 和 C+的编程语言。大 多数独立的评论员对其说法是“派生于 C、 C+ 和Java”。这种描述在技术上是非常准确的,但没有涉及到该语言的真正优点。从语法上看, C#非常类似于 C+和 Java,许多关键字都是相同的, C#也使用类似于 C+和 Java 的块结构,并用括号 ( )来标记代码块,用分号分隔各行语句。对 C#代码的第一印象是它非常类似于 C+或 Java 代码。但在这些表面上的类似性后面, C#学习起来要比 C+容易得多,但比 Java 难一些。其设计与现代开发工具的适应性要比其他语言更高,它同时具有 Visual Basic 的易用性、高性能以及 C+的低级内存访问性。 C#包括以下一些特性: