快捷搜索:

Programming C# 3.0中文版 译者序

  本书讲述的是如何使用C#进行编程,以及为什么要学习C#和.NET编程。C#是一门托管(managed)语言。从本人自身的经验而言,使用托管语言编程的好处有以下几点:

  1.垃圾回收。垃圾回收带来了很多的方便。如果使用C++编程,每次使用new创建一个新的对象实例时都要想一想,谁拥有这个新对象,谁负责释放它,在什么时候释放,等等。在简单的程序中这还不算太大的负担。如果是在大型软件系统中,并且涉及在多线程之间进行对象传递的话,内存管理就非常复杂。一不留神就会造成内存泄露,或者是内存访问越界。C++引入了很多技巧来避免这种情况,例如,程序本身申请大片内存再自己进行管理,使用引用计数(referencecounter),或者smartpointer,等等。而C#自身就带有垃圾回收功能,这样确实减少了程序员在编写代码时须要注意的细节。

  2.完善的面向组件(component)开发。在C++编程中,程序员须要理顺头文件之间的关系,知道要链接哪些库,以及须要设置各种编译开关。稍微复杂一点的系统,头文件之间的关系往往变得难以管理。而在C#中,如果须要使用到别的库,只要在引用(reference)中加入一个assembly。就可以查看这个assembly中所有公开的成员、函数、类,等等。非常方便。

  3.简单统一的系统库。常用的系统库,例如string、list、file,等等。接口都非常统一,也很简单易用。加入一个using语句马上就可以使用。泛型(Generic)的引入使得这些库的可扩充性得到了很大的提高。程序员不要再考虑如何实现自己的基本数据结构,而可以专心在实现更有价值的新功能上。

  4.还有很多别的特色,使得C#可以提高程序员的开发效率。C#越来越多地被使用于产品开发。在微软其实很多产品已经使用了C#。

  C#语言问世至今,已经经历了多个版本,每个版本都会带入很多新的东西。本书讲述的是当前最新版3.0的C#语言编程技巧。这个新版引入了许多很有意思的特性,例如lambda、LINQ、扩展方法(extensionmethod)。引用C#创始人(AndersHejlsberg)的话:1.0其实是要尽快推出一个托管代码的版本。2.0中引入了Generic,才把基本的功能实现了。到了3.0才有机会实现一些自己觉得有深度的事情,例如LINQ。而4.0可能的方向是declarative、dynamic和concurrent。(有兴趣的读者可以到微软PDC2008的网站上看他对C#未来的介绍视频。)

  这本书系统地介绍了C#3.0编程的方方面面。它的特点是实用有效。作者对C#及如何使用它来高效编程有着深刻的了解。书中对C#各个方面的介绍都有着独特的见解。而且介绍的各种技巧都是读者马上就可以应用到日常程序开发的。作者选取的各个例子,也是精心挑选的,力求满足读者在工作中可以仿效的需求。如果读者能够坐下来,好好地研读,并且亲自动手实验,相信很快就能提高自己的编程功力。从译者本身的经验而言,C#是一门让编程恢复乐趣的语言。用这门语言,做自己感兴趣的项目,快速地开发出有用的产品,是不是很有意思!希望读者能够体会到这种乐趣,能够在工作的时候觉得自己做的事情很有意思。

  李愈胜

  2008年11月20日于雷蒙德

您可能还会对下面的文章感兴趣: