连接
关于这个处理的再说一点。在第2步中被编译为MSIL的C#代码不必包含在一个单一的文件中。很可能应用的代码被分割在多个源代码文件中,而被编译在单一的集合里。这个非常有用的处理被称为连接。这是因为在数个小文件中工作比在一个庞大的文件中工作要简单。你可以把逻辑关联的代码放到独立的文件中以便它们能够独立地工作并且你几乎能够忘掉已完成的部分。这使得当你需要它们的时候可以很容易的定位到特定的模块,也能使得开发团队可以将编程任务分割为可控的模块,借此人们可以“检查”代码的模块而不用冒着的某些区域不够良好,或者踏入其他人工作区域的风险工作。
C#是什么
C#,如同前面提到的一样,是一种你使用的语言之一,它们能够创建在.NET CLR上运行的应用。它是由Microsoft设计的,明确在.NET平台上运行的语言,比C和C++更为先进。由于近来的发展,C#已经被具有后见之明地设计,吸收了其他语言的最优秀的特性,并且抛弃了它们存在的问题。
开发应用使用C#比使用C++更简单,因为它的语法更简单。同时,C#是一门强大的语言,你在C++里面任何你不想做的,在C#里面你都不会碰到。如上所说,C#的这些特性比起C++的更加先进,比如直接读取和操纵系统内存,只能使用被标记为非安全的代码。这套先进的技术体系很可能具有潜在的危险(如同它名字一样),因为它可以重写内存的系统临界区而带来潜在的灾难性的结果。所以,这本书没有介绍相关的这些主题。
同时,C#代码要稍微比C++更冗长一点。这是由于C#是一门类型安全的语言(不同于C++)。在初学者眼里,这意味着一旦某个数据被设计为一个类型,它就不能把自己转换为一个不相关的类型。因此,在类型转换的时候,必须严格的遵循规则,这意味着比起C++,你将编写更多的C#代码来执行与之相同的任务,但是你将得到两个好处:代码更强健更易于调试,并且.NET将一直追踪一段数据的类型。因此在C#中,你不必做像是“为这段数据分配4位的内存,并且用10位的内存来把它解释为X”这样的事情,虽然这并不总是一件坏事。
C#只是.NET开发中的可用语言之一,但是它的确是最优秀的。它拥有.NET Framework背景下的唯一语言设计的优势,并且也许是被布置到其他操作系统上的.NET版本中被主要运用的语言。为了保持某些使用CLR的.NET语言,比如Visual Basic,和它们的仍然适用的旧版本尽量类似,.NET代码库的某些特性没有被完全的支持。相反,C#可以利用每一个.NET代码库提供的特性。最新的.NET版本包括了C#语言的许多改进,部分为了回应开发者的建议,使得它更有活力。