C#编程语言详解
基本信息
- 原书名:C# Programming Language
- 原出版社: Addison Wesley/Pearson
- 作者: (美)Anders Hejlsberg,Scott Wiltamuth,Peter Golde [作译者介绍]
- 译者: 张晓坤 谭立平 车树良
- 丛书名: .NET技术大系
- 出版社:电子工业出版社
- ISBN:7121002280
- 上架时间:2004-10-13
- 出版日期:2004 年9月
- 开本:16开
- 页码:482
- 版次:1-1
- 所属分类:
计算机 > 软件与程序设计 > C#
内容简介回到顶部↑
C#是一门简单、现代、优雅、面向对象、类型安全、平台独立的组件编程语言,是.NET的关键性语言,也是整个.NET平台的基础,它使程序员能快速地为新一代Microsoft.Net平台开发出应用程序。全书以通俗易懂的语言,精辟丰富的实例,从对C#的简介开始,全面讲解了C#编程语言规范以及各个层面的特性,内容包括C#的词法结构、类型、变量、表达式、类、结构、不安全代码、泛型,等等。
本书内容翔实,实用性强,适合作为高等院校学生学习编程语言的教材,也是希望深入探索C#编程知识的广大程序开发人员绝佳的技术参考书。
本书内容翔实,实用性强,适合作为高等院校学生学习编程语言的教材,也是希望深入探索C#编程知识的广大程序开发人员绝佳的技术参考书。
作译者回到顶部↑
本书提供作译者介绍
Anders Hejlsberg
程序界的一个神话。他是C#语言的架构师和Microsoft公司卓越的工程师。在Borland公司就职的13年中,他担任Delphi和Turbo Pascal的首席架构师,之后于1996年加盟Microsoft公司。
Scott Wiltamuth
Microsoft公司VisualC#.NET的产品部经理。在Microsoft公司工作的10年中,他参与了大量开发工具方面的工作,包括OLE Automation,VBA(Visual Basic for Applications),VBScript,JScript,VisualJ++和Visual C#.NET等。
Peter Golde
在退休之前,曾是Microsoft.. << 查看详细
程序界的一个神话。他是C#语言的架构师和Microsoft公司卓越的工程师。在Borland公司就职的13年中,他担任Delphi和Turbo Pascal的首席架构师,之后于1996年加盟Microsoft公司。
Scott Wiltamuth
Microsoft公司VisualC#.NET的产品部经理。在Microsoft公司工作的10年中,他参与了大量开发工具方面的工作,包括OLE Automation,VBA(Visual Basic for Applications),VBScript,JScript,VisualJ++和Visual C#.NET等。
Peter Golde
在退休之前,曾是Microsoft.. << 查看详细
目录回到顶部↑
第一篇 c#1.0 1
第1章 c# 简介 3
1.1 hello world 3
1.2 程序结构 4
1.3 类型和变量 6
1.4 表达式 8
1.5 语句 9
1.6 类和对象 12
1.6.1 成员 13
1.6.2 可访问性 14
1.6.3 基类 14
1.6.4 字段 15
1.6.5 方法 15
1.6.6 其他函数成员 21
1.7 结构 25
1.8 数组 27
1.9 接口 28
1.10 枚举 29
1.11 委托 31
1.12 特性 32
第1章 c# 简介 3
1.1 hello world 3
1.2 程序结构 4
1.3 类型和变量 6
1.4 表达式 8
1.5 语句 9
1.6 类和对象 12
1.6.1 成员 13
1.6.2 可访问性 14
1.6.3 基类 14
1.6.4 字段 15
1.6.5 方法 15
1.6.6 其他函数成员 21
1.7 结构 25
1.8 数组 27
1.9 接口 28
1.10 枚举 29
1.11 委托 31
1.12 特性 32
译者序回到顶部↑
.NET正式推出(2002年2月13日Microsoft正式发布.NET)也不过两年多的时间,而市面上关于C#的各类参考书可谓琳琅满目,C#程序员阵营也日益庞大。是什么原因使C#脱颖而出,成为编程语言的新贵?
我们追溯到1995年的春天,JamesGosling等人公开发布了一种名叫Java的编程语言。Java在Internet的推动下,短短几年就受到开发人员的挚爱。网络、分布式使可移植性、安全等因素显得尤为重要。传统的开发模型和运行环境,在面对Internet时显得束手无策。Java语法虽然酷似C++,但本质与C++相差甚远,它能够真正实现跨平台和可移植性。于是,Sun,IBM,Oracle,BEA,Borland等盯领域的巨无霸都纷纷推出各自的Java产品,甚至Micorsoft也有自己的Java产品。一时间,Java成了众星捧月的香饽饽。而Sun与Microsoft也因为Java陷入了旷日持久的官司中。
我曾经设想,如果Java不属于Sun公司,或者Sun公司很慷慨,那么可能就不会有现在的C#。不过,自由竞争是值得鼓励和尊敬的。在Java的赞扬声中也夹杂着不少反对意见,例如,Java的I/O非常复杂,Swing与AWT更是召来许多抨击,性能方面也是可圈可点的,等等。
面对Java、Linux等的竞争与冲击,Microsoft酝酿着一个巨大的革命性的计划,这就是.NET。Microsoft将.NET视为数字化未来的一个远景和平台,正如其平台战略副总裁Sanjay Parthasarathy先生所说的那样:
".NET要做什么?它要加速向分布式计算的转移。
".NET要做什么?它要拉动三个杠杆,分别是
◆ 一切都要为Web服务;
◆ 聚合与集成Web服务;
◆ 提供简单而令人神往的用户体验。"
C#是完全基于CLR的编程语言。相信大家对其主创人员Anders Hejlsberg并不陌生。
我想大多数的程序员应该是通过Delphi知道了AndersHejlsberg这个名字的。Hejlsberg第一次在软件舞台亮相是在20世纪80年代早期,他为MS-DOS和CP/M设计了Pascal编译器。当时,Borland还只是一家小公司,但它独具慧眼,很快雇用了他,并买下了他的编译器,改名为TurboPascal。加盟Borland之后,Hejlsberg继续开发TurboPascal,并最终带领他的小组设计了Turbo Pascal的替代品:Delphi。1996年,在为Borland工作了13年之后,Heilsberg加入了Microsoft。从最初的Visual J++和Windows Foundation Classes(WFC)的架构师,到C#的首席设计师和.NET Framework的关键参与者,他算得上是一个传奇的人物。而本书的作者之一就是这位蜚声软件界的奇才--AndersHejlsberg。
这本书是迄今为止市面上关于C#的语法、语义和设计最完整和精确的一本书。由于本书主要阐述的是C#编程语言规范,因此,全书的风格比较严谨和客观,没有美国人惯有的那种调侃与幽默。全书共分三大部分,第一部分关于C#语言的语法和基本特征,面面俱到,细致入微;第二部分介绍C#2.0引入的新特征,包括泛型、匿名方法、迭代器和不完整类型;第三部分"附录"介绍文档注释、文法等。
本书第1-9章介绍了C#的基本特征,包括词法、类型、变量、转换、表达式、语句和命名空间等基本元素。
第10-17章介绍C#的面向对象特性,包括类(System.Object是一切类的根)、结构、数组(所有的数组隐式派生于System.Array类)、枚举(所有枚举隐式派生于System.Enum)、委托(面向对象的指针[即类型安全])、异常(一种结构化的、统一的和类型安全的处理机制)和特性(使程序员能够为程序中定义的各种实体附加一些说明性信息,可以在运行时读取)。
第18章介绍不安全代码,unsafe模式下的不安全代码,应该是C#的一个特色。
第19章介绍文档注释,一种可以使用XML文本的特殊标注注释的语法,借文档生成器生成文档文件的机制。
第20~23章介绍C#2.0提供的编译时构件,包括泛型、匿名方法、迭代器和不完整类型(请于Microsoft的官方网站下载最新的.NETFramework1.2和.NET sdk 1.2)。
感谢AndersHejlsberg等为我们带来一次神奇的体验!
由于水平有限,错误之处在所难免,恳请读者批评指正。
译 者
我们追溯到1995年的春天,JamesGosling等人公开发布了一种名叫Java的编程语言。Java在Internet的推动下,短短几年就受到开发人员的挚爱。网络、分布式使可移植性、安全等因素显得尤为重要。传统的开发模型和运行环境,在面对Internet时显得束手无策。Java语法虽然酷似C++,但本质与C++相差甚远,它能够真正实现跨平台和可移植性。于是,Sun,IBM,Oracle,BEA,Borland等盯领域的巨无霸都纷纷推出各自的Java产品,甚至Micorsoft也有自己的Java产品。一时间,Java成了众星捧月的香饽饽。而Sun与Microsoft也因为Java陷入了旷日持久的官司中。
我曾经设想,如果Java不属于Sun公司,或者Sun公司很慷慨,那么可能就不会有现在的C#。不过,自由竞争是值得鼓励和尊敬的。在Java的赞扬声中也夹杂着不少反对意见,例如,Java的I/O非常复杂,Swing与AWT更是召来许多抨击,性能方面也是可圈可点的,等等。
面对Java、Linux等的竞争与冲击,Microsoft酝酿着一个巨大的革命性的计划,这就是.NET。Microsoft将.NET视为数字化未来的一个远景和平台,正如其平台战略副总裁Sanjay Parthasarathy先生所说的那样:
".NET要做什么?它要加速向分布式计算的转移。
".NET要做什么?它要拉动三个杠杆,分别是
◆ 一切都要为Web服务;
◆ 聚合与集成Web服务;
◆ 提供简单而令人神往的用户体验。"
C#是完全基于CLR的编程语言。相信大家对其主创人员Anders Hejlsberg并不陌生。
我想大多数的程序员应该是通过Delphi知道了AndersHejlsberg这个名字的。Hejlsberg第一次在软件舞台亮相是在20世纪80年代早期,他为MS-DOS和CP/M设计了Pascal编译器。当时,Borland还只是一家小公司,但它独具慧眼,很快雇用了他,并买下了他的编译器,改名为TurboPascal。加盟Borland之后,Hejlsberg继续开发TurboPascal,并最终带领他的小组设计了Turbo Pascal的替代品:Delphi。1996年,在为Borland工作了13年之后,Heilsberg加入了Microsoft。从最初的Visual J++和Windows Foundation Classes(WFC)的架构师,到C#的首席设计师和.NET Framework的关键参与者,他算得上是一个传奇的人物。而本书的作者之一就是这位蜚声软件界的奇才--AndersHejlsberg。
这本书是迄今为止市面上关于C#的语法、语义和设计最完整和精确的一本书。由于本书主要阐述的是C#编程语言规范,因此,全书的风格比较严谨和客观,没有美国人惯有的那种调侃与幽默。全书共分三大部分,第一部分关于C#语言的语法和基本特征,面面俱到,细致入微;第二部分介绍C#2.0引入的新特征,包括泛型、匿名方法、迭代器和不完整类型;第三部分"附录"介绍文档注释、文法等。
本书第1-9章介绍了C#的基本特征,包括词法、类型、变量、转换、表达式、语句和命名空间等基本元素。
第10-17章介绍C#的面向对象特性,包括类(System.Object是一切类的根)、结构、数组(所有的数组隐式派生于System.Array类)、枚举(所有枚举隐式派生于System.Enum)、委托(面向对象的指针[即类型安全])、异常(一种结构化的、统一的和类型安全的处理机制)和特性(使程序员能够为程序中定义的各种实体附加一些说明性信息,可以在运行时读取)。
第18章介绍不安全代码,unsafe模式下的不安全代码,应该是C#的一个特色。
第19章介绍文档注释,一种可以使用XML文本的特殊标注注释的语法,借文档生成器生成文档文件的机制。
第20~23章介绍C#2.0提供的编译时构件,包括泛型、匿名方法、迭代器和不完整类型(请于Microsoft的官方网站下载最新的.NETFramework1.2和.NET sdk 1.2)。
感谢AndersHejlsberg等为我们带来一次神奇的体验!
由于水平有限,错误之处在所难免,恳请读者批评指正。
译 者
序言回到顶部↑
C#项目的启动差不多是在5年前--1998年12月,其目标在于创建一个简单、现代、面向对象以及类型安全的编程语言,用在全新的并被命名为.NET的平台上。从那时候起,C#已经走过了漫长的道路。到目前为止,成千上万的程序员在使用C#语言,ECMA译注1和ISO/IEC译注2已经分别对它进行了标准化。此外,C#第二个版本的开发也接近尾声,它具有几个显著的新特点。
本书是C#编程语言完整的技术规范。它总共分为三个部分。第一部分"C# 1.0"包括第1至18章,描述了C# 1.0语言,它与Visual Studio .NET2002和2003一起发布。第二部分"C# 2.0"包括第19至23章,描述了C# 2.0的4个显著特点:泛型、匿名方法、迭代器和不完整类型。第三部分"附录"描述了文档注释,并且总结了第一部分中词法和句法的语法。截止到本书写作时,C# 2.0已经接近beta测试了。由于C# 2.0仍然在开发过程中,因此,第二部分所描述的新特点可能与最终版有所不同。不过,我们期望其中的变动尽量很小。
有许多人参与到C#语言的创建工作中。C# 1.0的语言设计小组包括Anders Hejlsberg、Scott Wiltamuth、Peter Golde、Peter Sollich和Eric Gunnerson。对于C# 2.0,语言设计小组包括Anders Hejlsberg、Peter Golde、Peter Hallam、ShonKatzenberger、Todd Proebsting和Anson Horton。此外,C#和.NET公共语言运行库中泛型的设计和实现是基于"Gyro"原型,它是由Microsoft Research的Don Syme和Andrew Kennedy构建的。
我们不可能向所有影响C#设计的人员一一致谢,但还是要表示感激之情。在"真空"中是不能设计出好的语言的;我们拥有庞大而热情的用户基础,他们的反馈是我们的无价之宝。
C#已经并继续成为我们最具有挑战性和激动人心的项目。我们希望你能够喜欢使用C#,就如同我们热衷于创建它一样。
Anders Hejlsberg
Scott Wiltamuth
Peter Golde
2003年8月,西雅图
本书是C#编程语言完整的技术规范。它总共分为三个部分。第一部分"C# 1.0"包括第1至18章,描述了C# 1.0语言,它与Visual Studio .NET2002和2003一起发布。第二部分"C# 2.0"包括第19至23章,描述了C# 2.0的4个显著特点:泛型、匿名方法、迭代器和不完整类型。第三部分"附录"描述了文档注释,并且总结了第一部分中词法和句法的语法。截止到本书写作时,C# 2.0已经接近beta测试了。由于C# 2.0仍然在开发过程中,因此,第二部分所描述的新特点可能与最终版有所不同。不过,我们期望其中的变动尽量很小。
有许多人参与到C#语言的创建工作中。C# 1.0的语言设计小组包括Anders Hejlsberg、Scott Wiltamuth、Peter Golde、Peter Sollich和Eric Gunnerson。对于C# 2.0,语言设计小组包括Anders Hejlsberg、Peter Golde、Peter Hallam、ShonKatzenberger、Todd Proebsting和Anson Horton。此外,C#和.NET公共语言运行库中泛型的设计和实现是基于"Gyro"原型,它是由Microsoft Research的Don Syme和Andrew Kennedy构建的。
我们不可能向所有影响C#设计的人员一一致谢,但还是要表示感激之情。在"真空"中是不能设计出好的语言的;我们拥有庞大而热情的用户基础,他们的反馈是我们的无价之宝。
C#已经并继续成为我们最具有挑战性和激动人心的项目。我们希望你能够喜欢使用C#,就如同我们热衷于创建它一样。
Anders Hejlsberg
Scott Wiltamuth
Peter Golde
2003年8月,西雅图
评论交流
共有23人开贴评论 35人参与评论 20人参与打分 查看
评价等级:



发表于:2005-1-18 20:47:00
请翻到32页:“所有的特性类都是从.NET框架提供的System.Attribute基类派生的类。如果特性类的名称以Attribute为后缀,那么当引用该特性时可以省略此后缀。”后面作者就举了一个例子:
[HelpAttribute* ("http://......")]
*号那个位置有一个译注:“原文为Help,应该是作者的笔误。”
我觉得前面已经说得很明确了,HelpAttribute可以省略Attribute而写成Help,作者也为此特意举了一个例子,可是译者却自作聪明擅作主张又给添上了,还诬赖说是“作者的笔误”。
其实这本书本应该是不错的,“跟着Anders错不了”。可是没想到被译者@#$&%$%$#%#算了,今天刚收到china-pub邮过来的五本书,心情好,就不埋汰人了。
这本书里有好多译者自以为是的译注,看了很不爽,我只拿出来一个,因为这个最搞笑。
5颗星给原著,因为译者扣两颗,最后得分三颗星。
PS:谁知道那里有这本书的英文电子版,给个连接先谢谢!!!
[HelpAttribute* ("http://......")]
*号那个位置有一个译注:“原文为Help,应该是作者的笔误。”
我觉得前面已经说得很明确了,HelpAttribute可以省略Attribute而写成Help,作者也为此特意举了一个例子,可是译者却自作聪明擅作主张又给添上了,还诬赖说是“作者的笔误”。
其实这本书本应该是不错的,“跟着Anders错不了”。可是没想到被译者@#$&%$%$#%#算了,今天刚收到china-pub邮过来的五本书,心情好,就不埋汰人了。
这本书里有好多译者自以为是的译注,看了很不爽,我只拿出来一个,因为这个最搞笑。
5颗星给原著,因为译者扣两颗,最后得分三颗星。
PS:谁知道那里有这本书的英文电子版,给个连接先谢谢!!!
| 我要写评论 |
| 查看所有评论交流(共23条) |








点击看大图



加载中...

