网上购物 货比三家
您现在的位置:快乐比价网 > 图书 > 计算机与网络 > 程序设计 > 商品详情

C# 4.0完全参考手册

分享到:
C# 4.0完全参考手册

最 低 价:¥88.50

定 价:¥118.00

作 者:(美)Herbert Schildt

出 版 社:清华大学出版社

出版时间:2010 年12月

I S B N:9787302240433

价格
88.50元
价格
88.50元
价格
94.40元
价格
97.90元
  • c4.0完全参考手册
  • 送货上门
  • 价格
    100.30元
  • c4.0完全参考手册
  • 送货上门
  • 价格
    100.30元

    商品详情

    编辑推荐

    全面介绍C#语言的方方面面
      介绍C# 4.0的新增功能,包括任务并行库、PLINQ、dynamic类型等
      提供了数百个易上手的示例

    内容简介

    畅销书作者herbert schildt更新并扩展了他的经典编程参考手册以详细介绍c# 4.0(目前c#的最新版本)。通过使用仔细编写的说明内容、权威人士提供的提示信息以及数以百计的示例,《c# 4.0完全参考手册》深入介绍了c#语言的所有方面,包括它的关键字、语法和核心类库。当然,本书也详细介绍了c# 4.0的新增功能,例如命名实参和可选实参、dynamic类型、扩展的协变和逆变功能以及使用任务并行库(tpl)和plinq进行并行编程等。
      作为c#初学者和专业编程人员的理想选择,《c#4.0完全参考手册》按照清晰的、简明的、不妥协的方式编写,正是这种编写方式使herbert的书籍在世界范围内实现了数以百万计的销量。因此,要掌握c# 4.0,请选用本书!

    作者简介

    Herbert Schildt是C#、C、C++和Java方面的权威,他的编程书籍在世界范围内的销量达到数百万册,并且已经翻译为所有主流的语言。Herbert是许多畅销图书的作者,包括Java:The Complete Reference、C++:The Complete Reference、C:The Complete Reference和Java:A Beginner's Guide。可以在www.HerbSchildt.com网站中查找关于Herbert的更多著作。
    .. << 查看详细

    目录

    第ⅰ部分 c# 语 言
    第1章 c#的起源 3
    1.1 c#的族谱 3
    1.1.1 c语言:现代编程的开端 3
    1.1.2 oop和c++语言的诞生 4
    1.1.3 internet和java的出现 4
    1.1.4 c#的诞生 5
    1.1.5 c#的发展 6
    1.2 c#如何与.net framework相关 7
    1.3 公共语言运行时的工作原理 7
    1.4 托管和非托管代码 8
    第2章 c#概述 9
    2.1 面向对象编程 9
    2.1.1 封装 10
    2.1.2 多态 10
    2.1.3 继承 11
    2.2 简单示例一 11
    2.2.1 c#命令行编译器csc.exe 11
    2.2.2 使用visual studio ide 12
    2.2.3 逐行分析第一个示例程序 16
    .2.3 处理语法错误 18
    2.4 改写示例一 19
    2.5 简单示例二 19
    2.6 另一种数据类型 21
    2.7 两种控制语句 23
    2.7.1 if语句 23
    2.7.2 for循环 25
    2.8 代码块 26
    2.9 分号、定位和缩进 27
    2.10 c#语言的关键字 28
    2.11 标识符 29
    2.12 .net framework类库 30
    第3章 数据类型、字面量和变量 31
    3.1 数据类型的重要性 31
    3.2 c#的值类型 31
    3.3 整数类型 32
    3.4 浮点类型 34
    3.5 decimal类型 36
    3.6 字符类型 37
    3.7 布尔类型 38
    3.8 自定义输出格式 39
    3.9 字面量 42
    3.9.1 十六进制字面量 42
    3.9.2 字符转义序列 43
    3.9.3 字符串字面量 43
    3.10 变量 45
    3.10.1 初始化变量 45
    3.10.2 动态初始化变量 46
    3.10.3 隐式类型的变量 46
    3.11 变量的作用域和生命周期 48
    3.12 类型转换和强制类型转换 50
    3.12.1 自动类型转换 50
    3.12.2 强制转换不兼容的类型 51
    3.13 表达式中的类型转换 54
    第4章 运算符 59
    4.1 算术运算符 59
    4.2 关系和逻辑运算符 63
    4.3 赋值运算符 67
    4.4 按位运算符 69
    4.4.1 按位与、或、异或和一元取反运算符 69
    4.4.2 移位运算符 75
    4.4.3 按位复合赋值 78
    4.5 问号(?)运算符 78
    4.6 空格和圆括号 79
    4.7 运算符优先级 80
    第5章 程序控制语句 81
    5.1 if语句 81
    5.1.1 if语句嵌套 82
    5.1.2 if-else-if阶梯结构 83
    5.2 switch语句 84
    5.3 for循环 88
    5.4 while循环 96
    5.5 do-while循环 97
    5.6 foreach循环 98
    5.7 使用break语句退出循环 98
    5.8 使用continue语句 101
    5.9 goto语句 102
    第6章 类和对象 105
    6.1 类的基础知识 105
    6.1.1 类的通用形式 105
    6.1.2 定义类 106
    6.2 创建对象的方式 110
    6.3 引用类型的变量和赋值 111
    6.4 方法 111
    6.4.1 给building类添加方法 112
    6.4.2 从方法返回 114
    6.4.3 返回值 115
    6.4.4 使用参数 117
    6.4.5 给building类添加带参数的方法 119
    6.4.6 避免产生不可到达的代码 121
    6.5 构造函数 121
    6.5.1 带参数的构造函数 122
    6.5.2 给building类添加构造函数 123
    6.6 new运算符 124
    6.7 垃圾回收和析构函数 125
    6.8 this关键字 127
    第7章 数组和字符串 131
    7.1 数组 131
    7.2 多维数组 135
    7.2.1 二维数组 135
    7.2.2 三维或更多维的数组 137
    7.2.3 初始化多维数组 137
    7.3 交错数组 139
    7.4 数组引用赋值 141
    7.5 length属性 142
    7.6 隐式类型的数组 145
    7.7 foreach循环 147
    7.8 字符串 150
    7.8.1 构造string类型对象 151
    7.8.2 操作字符串 151
    7.8.3 字符串数组 155
    7.8.4 字符串是不可改变的 157
    7.8.5 在switch语句中使用字符串 158
    第8章 方法和类 159
    8.1 控制对类成员的访问 159
    8.1.1 c#的访问修饰符 159
    8.1.2 公有访问和私有访问的应用 161
    8.1.3 访问控制:案例研究 161
    8.2 给方法传递引用 166
    8.3 使用ref和out参数 170
    8.3.1 使用ref关键字 170
    8.3.2 使用out关键字 172
    8.3.3 对引用参数使用ref和out关键字 174
    8.4 使用数量可变的参数 176
    8.5 返回对象 178
    8.6 方法重载 182
    8.7 构造函数重载 187
    8.8 对象初始化器 193
    8.9 可选实参 194
    8.9.1 可选实参与重载 196
    8.9.2 可选实参与多义性 196
    8.9.3 可选实参的实际示例 197
    8.10 命名实参 198
    8.11 main()方法 200
    8.11.1 从main()方法返回值 200
    8.11.2 给main()方法传递参数 200
    8.12 递归 202
    8.13 理解static关键字 205
    8.14 static类 210
    第9章 运算符重载 213
    9.1 运算符重载基础 213
    9.1.1 重载二元运算符 214
    9.1.2 重载一元运算符 216
    9.2 处理针对c#内置类型的运算 220
    9.3 重载关系运算符 225
    9.4 重载true和false 227
    9.5 重载逻辑运算符 229
    9.5.1 重载逻辑运算符的简单方式 229
    9.5.2 使用短路运算符 231
    9.6 转换运算符 236
    9.7 运算符重载的注意事项 240
    9.8 运算符重载的另一个示例 241
    第10章 索引器和属性 245
    10.1 索引器 245
    10.1.1 创建一维索引器 245
    10.1.2 索引器重载 249
    10.1.3 索引器不需要底层的数组 251
    10.1.4 多维索引器 252
    10.2 属性 255
    10.2.1 自动实现属性 260
    10.2.2 对属性使用对象初始化器 260
    10.2.3 属性限制 261
    10.3 对存取器使用访问修饰符 261
    10.4 使用索引器和属性 264
    第11章 继承 271
    11.1 继承基础 271
    11.2 成员访问和继承 274
    11.3 构造函数和继承 278
    11.4 继承和名称隐藏 285
    11.5 创建多层的层次结构 288
    11.6 构造函数的调用 291
    11.7 基类引用和派生对象 292
    11.8 虚方法和重写 296
    11.8.1 重写方法的原因 300
    11.8.2 应用虚方法 300
    11.9 使用抽象类 304
    11.10 使用sealed关键字阻止继承 308
    11.11 object类 308
    11.11.1 装箱和拆箱 310
    11.11.2 object类型是否是通用数据类型 312
    第12章 接口、结构和枚举 315
    12.1 接口 315
    12.2 使用接口类型的引用 320
    12.3 接口属性 322
    12.4 接口索引器 324
    12.5 接口的继承 326
    12.6 接口继承引起的名称隐藏 327
    12.7 显式实现 327
    12.8 在接口和抽象类之间选择 330
    12.9 .net标准接口 330
    12.10 结构 330
    12.11 枚举 335
    12.11.1 初始化枚举 337
    12.11.2 指定枚举的基本类型 338
    12.11.3 使用枚举 338
    第13章 异常处理 341
    13.1 systemexception类 341
    13.2 异常处理的基础 341
    13.2.1 使用try和catch关键字 342
    13.2.2 一个简单的异常示例 342
    13.2.3 另一个异常示例 344
    13.3 未捕获异常的后果 345
    13.4 使用异常可以妥善地处理错误 347
    13.5 使用多条catch子句 347
    13.6 捕获所有的异常 348
    13.7 嵌套try块 350
    13.8 抛出异常 351
    13.9 finally语句 353
    13.10 进一步分析exception类 355
    13.11 派生异常类 358
    13.12 捕获派生类异常 361
    13.13 checked和unchecked关键字 363
    第14章 i/o系统 367
    14.1 c#的i/o依赖于数据流 367
    14.1.1 字节数据流和字符数据流 367
    14.1.2 预定义数据流 367
    14.2 数据流类 368
    14.2.1 stream类 368
    14.2.2 字节数据流类 369
    14.2.3 字符数据流包装类 369
    14.2.4 二进制数据流 371
    14.3 控制台i/o 371
    14.3.1 读取控制台输入 371
    14.3.2 使用readkey()方法 373
    14.3.3 写入控制台输出 375
    14.4 文件数据流和面向字节的文件i/o操作 376
    14.4.1 打开和关闭文件 376
    14.4.2 使用filestream类从文件中读取字节 378
    14.4.3 写入文件 380
    14.4.4 使用filestream类复制文件 382
    14.5 基于字符的文件i/o操作 383
    14.5.1 使用streamwriter类 383
    14.5.2 使用streamreader类 385
    14.6 重定向标准数据流 386
    14.7 读取和写入二进制数据 388
    14.7.1 binarywriter类 388
    14.7.2 binaryreader类 389
    14.7.3 二进制i/o操作的程序示例 390
    14.8 随机访问文件 395
    14.9 使用memorystream类 396
    14.10 stringreader和stringwriter类 399
    14.11 file类 400
    14.11.1 使用copy()方法复制文件 400
    14.11.2 使用exists()和getlastaccesstime()方法 401
    14.12 将数值型字符串转换为内部表示格式 402
    第15章 委托、事件和lambda表达式 407
    15.1 委托 407
    15.1.1 委托的方法组转换 410
    15.1.2 使用实例方法作为委托 410
    15.1.3 多播委托 412
    15.1.4 协变和逆变 414
    15.1.5 system.delegate类 416
    15.1.6 使用委托的原因 416
    15.2 匿名函数 416
    15.3 匿名方法 416
    15.3.1 给匿名方法传递参数 417
    15.3.2 从匿名方法中返回值 418
    15.3.3 在匿名方法中使用外部变量 419
    15.4 lambda表达式 421
    15.4.1 lambda运算符 421
    15.4.2 表达式lambda 422
    15.4.3 语句lambda 424
    15.5 事件 427
    15.5.1 多播委托事件的示例 428
    15.5.2 作为事件处理程序的实例方法和static方法的区别 430
    15.5.3 使用事件存取器 432
    15.5.4 事件的其他功能 437
    15.6 对事件使用匿名方法和lambda表达式 437
    15.7 .net事件的指导原则 438
    15.8 事件的应用:案例研究 441
    第16章 名称空间、预处理器和程序集 445
    16.1 名称空间 445
    16.1.1 名称空间的声明 445
    16.1.2 名称空间可以避免名称冲突 448
    16.1.3 using指令 449
    16.1.4 using指令的另一种形式 451
    16.1.5 名称空间的合成 453
    16.1.6 嵌套名称空间 454
    16.1.7 全局名称空间 456
    16.1.8 使用名称空间别名限定符(::) 456
    16.2 预处理器 460
    16.2.1 #define 460
    16.2.2 #if和#endif 461
    16.2.3 #else和#elif 462
    16.2.4 #undef 464
    16.2.5 #error 464
    16.2.6 #warning 465
    16.2.7 #line 465
    16.2.8 #region和#endregion 465
    16.2.9 #pragma 465
    16.3 程序集和internal访问修饰符 466
    第17章 运行时类型标识、反射和特性 469
    17.1 运行时类型标识 469
    17.1.1 使用is运算符测试类型 469
    17.1.2 使用as运算符 470
    17.1.3 使用typeof运算符 472
    17.2 反射 473
    17.3 使用反射 475
    17.3.1 获取方法的相关信息 475
    17.3.2 getmethods()方法的另一种形式 478
    17.3.3 使用反射调用方法 479
    17.3.4 获取type对象的构造函数 481
    17.3.5 从程序集获得类型 486
    17.3.6 全自动类型查询 491
    17.4 特性 493
    17.4.1 特性基础 494
    17.4.2 位置形参和命名形参 497
    17.5 3个内置特性 501
    17.5.1 attributeusage特性 501
    17.5.2 conditional特性 501
    17.5.3 obsolete特性 502
    第18章 泛型 505
    18.1 泛型的概念 505
    18.2 一个简单的泛型示例 506
    18.2.1 泛型类型基于类型实参而有所不同 509
    18.2.2 泛型如何实现类型安全 509
    18.3 使用两个类型形参的泛型类 512
    18.4 泛型类的通用形式 513
    18.5 类型约束 513
    18.5.1 基类约束 514
    18.5.2 接口约束 522
    18.5.3 new()构造函数约束 525
    18.5.4 引用类型约束和值类型约束 527
    18.5.5 使用约束建立两个类型形参之间的关系 529
    18.5.6 使用多个约束 530
    18.6 创建类型形参的默认值 531
    18.7 泛型结构 533
    18.8 创建泛型方法 534
    18.8.1 调用泛型方法时显式地指定类型实参 536
    18.8.2 为泛型方法指定约束 536
    18.9 泛型委托 537
    18.10 泛型接口 538
    18.11 比较同一个类型形参的实例 542
    18.12 泛型类的层次结构 546
    18.12.1 使用泛型基类 546
    18.12.2 泛型派生类 548
    18.13 重写泛型类中的虚方法 549
    18.14 重载使用类型形参的方法 550
    18.15 泛型类型形参中的协变和逆变 552
    18.15.1 在泛型接口中使用协变 552
    18.15.2 在泛型接口中使用逆变 555
    18.15.3 委托变体 558
    18.16 泛型类型的实例化 560
    18.17 使用泛型时的一些限制 561
    18.18 泛型小结 561
    第19章 linq 563
    19.1 linq的基础知识 564
    19.1.1 简单查询 564
    19.1.2 查询可以多次执行 566
    19.1.3 查询中的数据类型的关联方式 567
    19.1.4 查询的通用形式 568
    19.2 使用where子句筛选值 568
    19.3 使用orderby子句排序结果 570
    19.4 深入讨论select子句 573
    19.5 使用嵌套的from子句 577
    19.6 使用group子句分组结果 578
    19.7 使用into子句创建延续 580
    19.8 在查询中使用let子句创建变量 582
    19.9 使用join子句连接两个序列 583
    19.10 匿名类型 586
    19.11 创建组连接 588
    19.12 查询方法 590
    19.12.1 基本查询方法 591
    19.12.2 使用查询方法创建查询 592
    19.12.3 查询语法与查询方法的对比 594
    19.12.4 更多与查询相关的扩展方法 594
    19.13 延期执行查询和立即执行查询 596
    19.14 表达式树 597
    19.15 扩展方法 599
    19.16 plinq 601
    第20章 不安全代码、指针、可空类型、dynamic类型和其他主题 603
    20.1 不安全代码 603
    20.1.1 指针的基础知识 604
    20.1.2 使用unsafe关键字 605
    20.1.3 使用fixed修饰符 606
    20.1.4 通过指针访问结构成员 607
    20.1.5 指针运算 607
    20.1.6 指针的比较 609
    20.1.7 指针和数组 609
    20.1.8 指针和字符串 611
    20.1.9 多重间接寻址 612
    20.1.10 指针数组 613
    20.1.11 sizeof 613
    20.1.12 stackalloc 613
    20.1.13 创建固定大小的缓冲区 614
    20.2 可空类型 615
    20.2.1 可空类型基础 616
    20.2.2 表达式中的可空对象 617
    20.2.3 “??”运算符 618
    20.2.4 在可空对象上使用关系和逻辑运算符 619
    20.3 部分类型 620
    20.4 部分方法 621
    20.5 使用dynamic关键字创建dynamic类型 622
    20.6 com互操作性 626
    20.7 友元程序集 627
    20.8 其他关键字 627
    20.8.1 lock关键字 627
    20.8.2 readonly关键字 628
    20.8.3 const和volatile关键字 629
    20.8.4 using语句 629
    20.8.5 extern关键字 630
    第ⅱ部分 c#类库研究
    第21章 研究system名称空间 637
    21.1 system名称空间的成员 637
    21.2 math类 639
    21.3 与内置值类型对应的.net结构 644
    21.3.1 整型结构 645
    21.3.2 浮点类型结构 647
    21.3.3 decimal结构 650
    21.3.4 char结构 653
    21.3.5 boolean结构 658
    21.4 array类 659
    21.4.1 排序和搜索数组 667
    21.4.2 反转数组 670
    21.4.3 复制数组 671
    21.4.4 使用谓词 672
    21.4.5 使用action委托 673
    21.5 bitconverter类 674
    21.6 使用random类产生随机数 676
    21.7 内存管理和gc类 677
    21.8 object类 679
    21.9 tuple类 679
    21.10 icomparable和icomparable(t)接口 679
    21.11 iequatable(t)接口 680
    21.12 iconvertible接口 680
    21.13 icloneable接口 680
    21.14 iformatprovider和iformattable接口 682
    21.15 iobservable(t)和iobserver(t)接口 683
    第22章 字符串和格式化 685
    22.1 c#中的字符串 685
    22.2 string类 685
    22.2.1 字符串构造函数 686
    22.2.2 string类的字段、索引器和属性 686
    22.2.3 字符串运算符 687
    22.2.4 字符串方法 687
    22.2.5 填充和剪裁字符串 704
    22.2.6 插入、删除和替换 706
    22.2.7 改变字母大小写 707
    22.2.8 使用substring()方法 708
    22.2.9 字符串扩展方法 708
    22.3 格式化 708
    22.3.1 格式化概述 709
    22.3.2 数字格式说明符 709
    22.3.3 理解实参编号 711
    22.4 使用string.format()和tostring()方法格式化数据 712
    22.4.1 使用string.format()方法格式化值 712
    22.4.2 使用tostring()方法格式化数据 714
    22.5 自定义数字格式 715
    22.6 格式化日期和时间 719
    22.6.1 自定义日期和时间格式 721
    22.6.2 格式化时间间隔 723
    22.7 格式化枚举 725
    第23章 多线程编程第1部分 727
    23.1 多线程基础 727
    23.2 thread类 728
    23.2.1 创建和启动线程 729
    23.2.2 一些简单的改进 731
    23.2.3 创建多个线程 732
    23.3 确定线程结束的时间 734
    23.4 为线程传递实参 737
    23.5 isbackground属性 739
    23.6 线程优先级 739
    23.7 同步 741
    23.7.1 实现同步的另一种方式 745
    23.7.2 monitor类和lock关键字的关系 746
    23.8 使用wait()、pulse()和pulseall()方法实现线程通信 747
    23.9 死锁和竞争条件 751
    23.10 使用methodimplattribute特性 751
    23.11 使用互斥锁和信号量 753
    23.11.1 互斥锁 753
    23.11.2 信号量 757
    23.12 使用事件 760
    23.13 interlocked类 762
    23.14 .net 4.0添加的同步类 764
    23.15 通过abort()方法终止线程 764
    23.15.1 abort()方法的另一种形式 766
    23.15.2 取消abort()方法 767
    23.16 挂起和恢复线程 769
    23.17 判断线程的状态 769
    23.18 使用主线程 769
    23.19 .net 4.0添加的其他多线程功能 771
    23.20 多线程提示 771
    23.21 启动独立的任务 771
    第24章 多线程编程第2部分:研究任务并行库和plinq 773
    24.1 并行编程的两种方式 773
    24.2 task类 774
    24.2.1 创建任务 774
    24.2.2 使用任务id 777
    24.3 使用等待方法 778
    24.4 使用taskfactory类启动任务 781
    24.5 将lambda表达式用作任务 782
    24.6 创建任务延续 783
    24.7 从任务返回值 785
    24.8 取消任务和使用aggregateexception异常 787
    24.9 其他一些任务功能 790
    24.10 parallel类 790
    24.10.1 通过invoke()方法并行化任务 791
    24.10.2 使用for()方法 793
    24.10.3 使用foreach()方法 799
    24.11 研究plinq 800
    24.11.1 parallelenumerable类 800
    24.11.2 使用asparallel()方法并行化查询 801
    24.11.3 使用asordered()方法 802
    24.11.4 取消并行查询方法 802
    24.11.5 其他plinq功能 804
    24.11.6 有关plinq的注意事项 804
    第25章 集合、枚举器和迭代器 805
    25.1 集合概述 805
    25.2 非泛型集合 806
    25.2.1 非泛型接口 806
    25.2.2 dictionaryentry结构 811
    25.2.3 非泛型集合类 811
    25.3 使用bitarray类存储位 827
    25.4 专用集合 829
    25.5 泛型集合 830
    25.5.1 泛型接口 830
    25.5.2 keyvaluepair(tkey,tvalue)结构 834
    25.5.3 泛型集合类 834
    25.6 并行集合 853
    25.7 在集合中存储用户自定义的类 857
    25.8 实现icomparable接口 860
    25.8.1 为非泛型集合实现icomparable接口 860
    25.8.2 为泛型集合实现icomparable(t)接口 861
    25.9 使用icomparer接口 863
    25.9.1 使用非泛型的icomparer接口 863
    25.9.2 使用泛型的icomparer(t)接口 865
    25.10 使用stringcomparer类 866
    25.11 通过枚举器访问集合 866
    25.11.1 使用枚举器 867
    25.11.2 使用idictionaryenumerator接口 868
    25.12 实现ienumerable和ienumerator接口 869
    25.13 使用迭代器 871
    25.13.1 停用迭代器 873
    25.13.2 使用多条yield指令 874
    25.13.3 创建命名迭代器 874
    25.13.4 创建泛型迭代器 876
    25.14 集合初始化器 877
    第26章 使用system.net名称空间通过internet联网 879
    26.1 system.net名称空间的成员 879
    26.2 统一资源标识符 881
    26.3 internet访问基础 881
    26.3.1 webrequest类 882
    26.3.2 webresponse类 884
    26.3.3 httpwebrequest和httpwebresponse类 885
    26.3.4 第一个简单的示例 885
    26.4 处理网络错误 887
    26.4.1 create()方法产生的异常 887
    26.4.2 getresponse()方法产生的异常 887
    26.4.3 getresponsestream()方法产生的异常 888
    26.4.4 使用异常处理 888
    26.5 uri类 890
    26.6 访问附加的http响应信息 891
    26.6.1 访问报头 892
    26.6.2 访问cookie 893
    26.6.3 使用lastmodified属性 894
    26.7 minicrawler:案例研究 895
    26.8 使用webclient类 898
    附录a 文档注释快速参考 903
    a.1 xml注释标记 903
    a.2 编译文档注释 904
    a.3 xml文档示例 905

    商品评论(0条)

    暂无评论!

    您的浏览历史

    loading 内容加载中,请稍后...