您好,欢迎光临有路网!
Accelerated C#2008 C#捷径教程
QQ咨询:
有路璐璐:

Accelerated C#2008 C#捷径教程

  • 作者:(美国)(Trey Nash)纳什 者 刘新军
  • 出版社:人民邮电出版社
  • ISBN:9787115192585
  • 出版日期:2009年01月01日
  • 页数:444
  • 定价:¥59.00
  • 分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    C# 3.0 提供了很多强大的特性,通过使用lambda 表达式、扩展方法和语言集成查询(LINQ),方便地引入了函数式编程,使C# 程序员如虎添翼。《Accelerated C#2008 C#捷径教程》通过许多精彩的示例介绍了每个特性,深入浅出地讲解了C# 语言的核心概念,以及如何聪明地应用C# 的习惯用法和面向对象的设计模式来挖掘C# 和CLR 的能力。
    《Accelerated C#2008 C#捷径教程》适合有一定编程经验的程序员阅读。
    文章节选
    因为在学校微软技术俱乐部活动的缘故,C#Beta版一经问世我就从微软高校关系部拿到了**版,并且在微软的支持下俱乐部的一帮人一起做了几个小项目。2003年10月,微软全球副总裁JawadKhaki来北邮做讲座,之后有人去索取签名,一个哥们居然拿着一本~Java编程思想》上去。结果Jawad大笔一挥在扉页上写下了几个大字“c#isabetterJava”。这句话正是我当时对c#的**印象,可能也正反映了微软对C撑的期望和当时业界对C#的评价。
    当然微软的雄心远不止于此,.NET才是它的战略发展方向,C#只是推动这个发展的一个独门武器。几年来,���软投入了大量的资源,把这款武器打造得越来越锋利。随着泛型、匿名方法、迭代器、分部类型/分部方法、LINQ、匿名类型、对象/集合初始化器、扩展方法、Lambda表达式等一系列特性的逐步引入,C#俨然成为了特性*丰富的编程语言。
    丰富的特性带来了强大的功能和**的开发效率,但与之相伴的副作用之一就是加陡了学习曲线。一件再好的武器,如果你不能透彻掌握其奥妙玄机,后果将轻则浪费宝物,重则误伤自己。因此,除了会使手中的利器,找到一位好师父、觅得一本好宝典同样非常重要。
    目前市面上有很多关于C#的图书,也有很多诸如《24小时学会XXX))、《轻松掌握XXX))的图书。刚开始,我对出版社定下的本书中文书名——《C#捷径教程》颇有微词。不过,仔细一想,“捷径”确实*贴切原书名中Accelerated的本意。学习原本没有捷径可走,但要在有限的时间内取得*大的成效,还是有策略和方法的。本书的“捷径”体现在以下两个方面。
    1.以相对短的篇幅浓缩了C#的几乎所有的精华,高屋建瓴,取精用弘。本书没有纠缠于繁琐的语法细节(有任何C/C++/Java语言背景的人都可以触类旁通),也没有涉及华丽的IDE操作与界面设计内容(可以通过Tutorial或Help更方便地获得),而是直接切入C#语言本身的精髓,让你*直接地感受并掌握*激动人心的特性。
    2.以简洁的语言与丰富的示例来讲解各个特性,一针见血,酣畅淋漓。作者是位**的程序员,因此本书的行文风格都是基于程序员的角度和思维方式,使你在阅读的过程中有一种心领神会的默契之感。
    当然,翻译的过程没有捷径可走。本书的面世是许多人帮助与支持的结果。
    感谢编辑陈兴璐小姐。这是第二次与她合作。她一如既往地友善耐心、认真负责,保证了本书的按时按质完成。
    感谢杨军、崔晓川、刘光强、李辛鹤、徐进在翻译过程中给予我的的帮助,他们的专业水平和中肯建议,使翻译润色不少。与他们的讨论交流,也让我受益匪浅。
    感谢小顾同学,忍受了我长达半年深居简出的宅男生活:)。
    由于时间仓促,水平有限,不足之处望各位同仁不吝赐教。
    希望你在《C#捷径教程》中找到学习C#的捷径!
    目录
    第1章 C#预览 1
    1.1 C#和C++的区别 1
    1.1.1 C# 1
    1.1.2 C++ 1
    1.1.3 CLR垃圾回收 2
    1.2 C#程序示例 3
    1.3 C# 2.0扩展特性概述 4
    1.4 C# 3.0新特性概览 5
    1.5 小结 6

    第2章 C#和CLR 7
    2.1 CLR中的JIT编译器 7
    2.2 程序集及程序集加载器 9
    2.2.1 *小化程序的工作集 9
    2.2.2 给程序集命名 9
    2.2.3 加载程序集 10
    2.3 元数据 10
    2.4 交叉语言的兼容性 11
    2.5 小结 12

    第3章 C#语法概述 13
    3.1 C#是一门强类型的语言 13
    3.2 表达式 14
    3.3 语句和表达式 15
    3.4 类型和变量 15
    3.4.1 值类型 16
    3.4.2 引用类型 19
    3.4.3 默认变量初始化 20
    3.4.4 隐式类型化局部变量 20
    3.4.5 类型转换 22
    3.4.6 as和is操作符 23
    3.4.7 泛型 25
    3.5 命名空间 26
    3.5.1 定义命名空间 27
    3.5.2 使用命名空间 28
    3.6 控制流 29
    3.6.1 if-else、while、do-while和for 29
    3.6.2 switch 29
    3.6.3 foreach 30
    3.6.4 break、continue、goto、return和throw 31
    3.7 小结 31

    第4章 类、结构和对象 32
    4.1 类定义 33
    4.1.1 字段 34
    4.1.2 构造函数 36
    4.1.3 方法 37
    4.1.4 属性 38
    4.1.5 封装 42
    4.1.6 可访问性 45
    4.1.7 接口 46
    4.1.8 继承 47
    4.1.9 密封类 53
    4.1.10 抽象类 53
    4.1.11 嵌套类 54
    4.1.12 索引器 57
    4.1.13 分部类 59
    4.1.14 分部方法 59
    4.1.15 静态类 61
    4.1.16 保留的成员名字 62
    4.2 值类型定义 63
    4.2.1 构造函数 63
    4.2.2 this的含义 65
    4.2.3 终结器 68
    4.2.4 接口 68
    4.3 匿名类型 68
    4.4 对象初始化器 71
    4.5 装箱和拆箱 73
    4.5.1 什么时候发生装箱 77
    4.5.2 效率和混淆 78
    4.6 System.Object 79
    4.6.1 等同性及其意义 80
    4.6.2 IComparable接口 81
    4.7 创建对象 81
    4.7.1 new关键字 81
    4.7.2 字段初始化 82
    4.7.3 静态(类)构造函数 83
    4.7.4 实例构造函数和创建顺序 85
    4.8 销毁对象 89
    4.8.1 终结器 89
    4.8.2 确定性的析构 90
    4.8.3 异常处理 91
    4.9 可清除对象 91
    4.9.1 IDisposable接口 91
    4.9.2 using关键字 93
    4.10 方法参数类型 95
    4.10.1 值参数 95
    4.10.2 ref参数 95
    4.10.3 out参数 97
    4.10.4 参数数组 97
    4.11 方法重载 98
    4.12 继承和虚方法 98
    4.12.1 虚方法和抽象方法 98
    4.12.2 override和new方法 99
    4.12.3 密封方法 100
    4.12.4 关于C#虚方法再啰嗦几句 101
    4.13 继承,包含和委托 101
    4.13.1 接口继承和类继承的选择 101
    4.13.2 委托和组合与继承 102
    4.14 小结 104

    第5章 接口和契约 105
    5.1 接口定义类型 105
    5.2 定义接口 107
    5.2.1 接口中可以有什么 107
    5.2.2 接口继承与成员隐藏 108
    5.3 实现接口 110
    5.3.1 隐式接口实现 110
    5.3.2 显式接口实现 110
    5.3.3 派生类中覆盖接口实现 112
    5.3.4 小心值类型实现接口的副作用 115
    5.4 接口成员匹配规则 116
    5.5 值类型的显示接口实现 119
    5.6 版本考虑 121
    5.7 契约 122
    5.7.1 类实现契约 122
    5.7.2 接口契约 123
    5.8 在接口和类之间选择 124
    5.9 小结 127

    第6章 重载操作符 128
    6.1 只因为:可以并不意味着应该 128
    6.2 重载操作符的类型和格式 128
    6.3 操作符不应该改变其操作数 129
    6.4 参数顺序有影响么 130
    6.5 重载加法运算符 130
    6.6 可重载的操作符 131
    6.6.1 比较操作符 132
    6.6.2 转换操作符 134
    6.6.3 布尔操作符 136
    6.7 小结 139

    第7章 异常处理和异常** 140
    7.1 CLR如何对待异常 140
    7.2 C#里的异常处理机制 140
    7.2.1 抛出异常 141
    7.2.2 .NET 2.0开始的未处理异常的变化 141
    7.2.3 try语句语法预览 142
    7.2.4 重新抛出异常和转译异常 144
    7.2.5 finally代码块抛出的异常 146
    7.2.6 终结器抛出的异常 146
    7.2.7 静态构造函数抛出的异常 147
    7.3 谁应该处理异常 148
    7.4 避免使用异常来控制流程 149
    7.5 取得异常中立 149
    7.5.1 异常中立代码的基本结构 149
    7.5.2 受限执行区域 154
    7.5.3 临界终结器和SafeHandle 156
    7.6 创建定制的异常类 159
    7.7 使用分配的资源和异常 161
    7.8 提供回滚行为 164
    7.9 小结 167

    第8章 使用字符串 168
    8.1 字符串概述 168
    8.2 字符串字面量 169
    8.3 格式指定和全球化 170
    8.3.1 Object.ToString、IFormattable和CultureInfo 170
    8.3.2 创建和注册自定义CultureInfo类型 171
    8.3.3 格式化字符串 173
    8.3.4 Console.WriteLine和String. Format 174
    8.3.5 自定义类型的字符串格式化举例 175
    8.3.6 ICustomFormatter 176
    8.3.7 字符串比较 178
    8.4 处理来自外部的字符串 179
    8.5 StringBuilder 181
    8.6 使用正则表达式搜索字符串 182
    8.6.1 使用正则表达式搜索 183
    8.6.2 搜索和分组 184
    8.6.3 使用正则表达式替换文本 187
    8.6.4 正则表达式创建选项 189
    8.7 小结 191

    第9章 数组、容器类型和迭代器 192
    9.1 数组介绍 192
    9.1.1 隐式类型化数组 193
    9.1.2 类型的转换和协方差 195
    9.1.3 排序和搜索 195
    9.1.4 同步 196
    9.1.5 向量与数组 196
    9.2 多维矩形数组 198
    9.3 多维锯齿数组 199
    9.4 容器类型 201
    9.4.1 比较ICollectionT和ICollection 201
    9.4.2 容器同步 202
    9.4.3 列表 203
    9.4.4 字典 203
    9.4.5 集合 204
    9.4.6 System.Collections.ObjectModel 204
    9.4.7 效率 207
    9.5 IEnumerableT、IEnumeratorT、IEnumerable和IEnumerator 208
    9.6 迭代器 211
    9.7 容器初始化器 220
    9.8 小结 220

    第10章 委托,匿名方法和事件 222
    10.1 委托概览 222
    10.2 委托的创建和使用 223
    10.2.1 单委托 223
    10.2.2 委托链 224
    10.2.3 迭代委托链 226
    10.2.4 非绑定(公开实例)的委托 227
    10.3 事件 230
    10.4 匿名方法 233
    10.4.1 注意捕获变量的使用 237
    10.4.2 匿名方法作为委托参数绑定器 239
    10.5 Strategy模式 243
    10.6 小结 244

    第11章 泛型 245
    11.1 泛型和C++模板之间的区别 246
    11.2 泛型的效率和类型** 246
    11.3 泛型的类型定义和构造类型 248
    11.3.1 泛型类和结构 249
    11.3.2 泛型接口 251
    11.3.3 泛型方法 251
    11.3.4 泛型委托 253
    11.3.5 泛型转换 256
    11.3.6 默认值表达式 257
    11.3.7 Nullable类型 258
    11.3.8 构造类型访问权限控制 260
    11.3.9 泛型和继承 260
    11.4 约束 261
    11.5 泛型系统容器 266
    11.6 泛型系统接口 268
    11.7 精选的问题和解决方案 269
    11.7.1 泛型类型中的转化和操作符 269
    11.7.2 动态地创建构造类型 277
    11.8 小结 279

    第12章 C#中的线程 280
    12.1 C#和.NET中的线程 280
    12.1.1 开始线程编程 281
    12.1.2 IOU模式和异步方法调用 283
    12.1.3 线程状态 283
    12.1.4 终止线程 286
    12.1.5 停止和唤醒休眠线程 287
    12.1.6 等待线程退出 288
    12.1.7 前台和后台线程 288
    12.1.8 线程本地存储 289
    12.1.9 非托管线程和COM套件如何适应 292
    12.2 线程间同步工作 293
    12.2.1 用Interlocked类实现轻量级的同步 295
    12.2.2 Monitor类 299
    12.2.3 锁对象 307
    12.2.4 信号量 311
    12.2.5 事件 312
    12.2.6 Win32的同步对象和WaitHandle 313
    12.3 使用线程池 315
    12.3.1 异步方法调用 315
    12.3.2 定时器 322
    12.4 小结 323

    第13章 C#规范形式探索 324
    13.1 引用类型的规范形式 324
    13.1.1 类默认是密封的 325
    13.1.2 使用非虚拟接口模式 326
    13.1.3 对象是否可克隆 328
    13.1.4 对象是否可清除 333
    13.1.5 对象需要终结器吗 336
    13.1.6 对象相等意味着什么 342
    13.1.7 如果重写了Equals方法,那么也应该重写GetHashCode方法 348
    13.1.8 对象支持排序吗 350
    13.1.9 对象需要形式化显示吗 353
    13.1.10 对象可以被转换吗 356
    13.1.11 在所有情况下都保证类型** 357
    13.1.12 使用非可变的引用类型 361
    13.2 值类型的规范形式 364
    13.2.1 为了获得更好的性能而重写Equals方法 364
    13.2.2 值类型需要支持接口吗 368
    13.2.3 将接口成员和派生方法实现为类型**的形式 369
    13.3 小结 371
    13.3.1 引用类型的检查单 372
    13.3.2 值类型的检查单 373

    第14章 扩展方法 374
    14.1 扩展方法介绍 374
    14.1.1 编译器如何发现扩展方法 375
    14.1.2 探究内部实现 377
    14.1.3 代码易读性与代码易懂性 378
    14.2 使用建议 379
    14.2.1 考虑扩展方法优先于继承 379
    14.2.2 分离的命名空间中的隔离扩展方法 380
    14.2.3 修改一个类型的契约可能会打破扩展方法 381
    14.3 转换 381
    14.4 链式操作 385
    14.5 自定义迭代器 386
    14.6 访问者模式 392
    14.7 小结 396

    第15章 lambda表达式 397
    15.1 lambda表达式介绍 397
    15.1.1 lambda表达式 398
    15.1.2 lambda语句 402
    15.2 表达式树 403
    15.2.1 对表达式的操作 404
    15.2.2 函数的数据表现 405
    15.3 lambda表达式的有益应用 406
    15.3.1 迭代器和生成器重访问 406
    15.3.2 闭包(变量捕获)和缓存 409
    15.3.3 currying 413
    15.3.4 匿名递归 415
    15.4 小结 416

    第16章 LINQ:语言集成查询 417
    16.1 连接数据的桥梁 417
    16.1.1 查询表达式 418
    16.1.2 再谈扩展方法和lambda表达式 420
    16.2 标准查询操作符 420
    16.3 C#查询关键字 422
    16.3.1 from子句和范围变量 422
    16.3.2 join子句 423
    16.3.3 where子句和过滤器 425
    16.3.4 orderby子句 425
    16.3.5 select子句和投影 426
    16.3.6 let子句 427
    16.3.7 group子句 429
    16.3.8 into子句和持续性 431
    16.4 偷懒的好处 432
    16.4.1 C#迭代器鼓励懒惰 432
    16.4.2 不能偷懒 433
    16.4.3 立即执行查询 435
    16.4.4 再谈表达式树 435
    16.5 函数式编程中的技术 436
    16.5.1 自定义标准查询操作符和延迟求值 436
    16.5.2 替换foreach语句 443
    16.6 小结 444
    ……
    编辑推荐语
    如果你已经有一定C#或者其他语言的编程经验,就完全不用去读那些肤浅的入门书或者冗长繁复的大部头。《Accelerated C#2008 C#捷径教程》将为你提供一条快速掌握C#的捷径。
    作者在不大的篇幅里容纳了丰富扎实的内容,不仅全面涵盖了C#的语言特性,包括3.O引入的Lambda表达式、扩展方法和LlNQ等,总结了正确使用C#的习惯用法和设计模式。而且深入探讨了CLR。书中大量富于启发性的实例和经验之谈。更能让你的软件开发水平得到质的飞跃。
    好评如潮的C#实战图书
    汲取.N ET技术精髓的捷径
    专章讲述习惯用法与设计模式 “作者的C#造诣极深,而且善于引导读者在轻松愉快的氛围中学习C#的特性。通过学习此书内容,你的C#水平必将今非昔比。”
    ——Wes dyer,微软C#开发小组成员
    “我读过不下100本.NET方面的书,自己也写过几本书,但是此书精彩绝伦,远远超出我的预期。强烈**!”
    ——William Ryan,微软MVP

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外