返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • [正版] CLR via C# 第4版 美 Jeffrey Richter 书籍计算机入门到精通程序设计软件开发经典编程
  • 新商品上架
    • 作者: 无著
    • 出版社: 图书其它
    • 出版时间:2014.11
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    句字图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 无著
    • 出版社:图书其它
    • 出版时间:2014.11
    • ISBN:9787485212440
    • 版权提供:图书其它

    满39包邮
    全国包邮
    2018-05-24 18:24:00 - 2019-03-31 18:24:00 截止
    下单满就减,赶快购买吧!
    单笔订单满39包邮( 包邮地区:辽宁、吉林、黑龙江、北京、天津、河北、山西、山东、上海、江苏、安徽、浙江、江西、湖北、湖南、河南、广东、福建、陕西 )

     

     

     

    目    录

    第I部分  CLR基础 

    第1章  CLR的执行模型    3

    1.1  将源代码编译成托管模块    3

    1.2  将托管模块合并成程序集    6

    1.3  加载公共语言运行时    7

    1.4  执行程序集的代码    10

    1.4.1  IL和验证    15

    1.4.2  不安全的代码    16

    1.5  本机代码生成器:NGen.exe    17

    1.6  Framework类库    20

    1.7  通用类型系统    22

    1.8  公共语言规范    24

    1.9  与非托管代码的互操作性    28

    第2章  生成、打包、部署和管理应用程序及类型    29

    2.1  .NET Framework部署目标    29

    2.2  将类型生成到模块中    31

    2.3  元数据概述    33

    2.4  将模块合并成程序集    39

    2.4.1  使用Visual Studio IDE将程序集添加到项目中    44

    2.4.2  使用程序集链接器    45

    2.4.3  为程序集添加资源文件    46

    2.5  程序集版本资源信息    47

    2.6  语言文化    51

    2.7  简单应用程序部署(私有部署的程序集)    52

    2.8  简单管理控制(配置)    53

    第3章  共享程序集和强命名程序集    57

    3.1  两种程序集,两种部署    58

    3.2  为程序集分配强名称    59

    3.3  全局程序集缓存    63

    3.4  在生成的程序集中引用强命名程序集    65

    3.5  强命名程序集能防篡改    66

    3.6  延迟签名    67

    3.7  私有部署强命名程序集    69

    3.8  “运行时”如何解析类型引用    70

    3.9  高级管理控制(配置)    73

    第Ⅱ部分  设计类型

    第4章  类型基础    81

    4.1  所有类型都从System.Object派生    81

    4.2  类型转换    83

    4.3  命名空间和程序集    86

    4.4  运行时的相互关系    90

    第5章  基元类型、引用类型和值类型    99

    5.1  编程语言的基元类型    99

    5.2  引用类型和值类型    106

    5.3  值类型的装箱和拆箱    111

    5.3.1  使用接口更改已装箱值类型中的字段(以及为什么不应该这样做)    121

    5.3.2  对象相等性和同一性    123

    5.4  对象哈希码    126

    5.5  dynamic基元类型    127

    第6章  类型和成员基础    135

    6.1  类型的各种成员    135

    6.2  类型的可见性    138

    6.3  成员的可访问性    139

    6.4  静态类    141

    6.5  分部类、结构和接口    142

    6.6  组件、多态和版本控制    143

    6.6.1  CLR如何调用虚方法、属性和事件    145

    6.6.2  合理使用类型的可见性和成员的可访问性    148

    6.6.3  对类型进行版本控制时的虚方法的处理    150

    第7章  常量和字段    155

    7.1  常量    155

    7.2  字段    156

    第8章  方法    161

    8.1  实例构造器和类(引用类型)    161

    8.2  实例构造器和结构(值类型)    164

    8.3  类型构造器    167

    8.4  操作符重载方法    170

    8.5  转换操作符方法    173

    8.6  扩展方法    176

    8.6.1  规则和原则    178

    8.6.2  用扩展方法扩展各种类型    179

    8.6.3  ExtensionAttribute类    181

    8.7  分部方法    181

    第9章  参数    185

    9.1  可选参数和命名参数    185

    9.1.1  规则和原则    186

    9.1.2  DefaultParameterValueAttribute和OptionalAttribute    188

    9.2  隐式类型的局部变量    188

    9.3  以传引用的方式向方法传递参数    190

    9.4  向方法传递可变数量的参数    195

    9.5  参数和返回类型的设计规范    197

    9.6  常量性    198

    第10章  属性    201

    10.1  无参属性    201

    10.1.1  自动实现的属性    204

    10.1.2  合理定义属性    205

    10.1.3  对象和集合初始化器    208

    10.1.4  匿名类型    209

    10.1.5  System.Tuple类型    212

    10.2  有参属性    214

    10.3  调用属性访问器方法时的性能    218

    10.4  属性访问器的可访问性    219

    10.5  泛型属性访问器方法    219

    第11章  事件    221

    11.1  设计要公开事件的类型    222

    11.1.1  第一步:定义类型来容纳所有需要发送给事件通知接收者的附加信息    222

    11.1.2  第二步:定义事件成员    223

    11.1.3  第三步:定义负责引发事件的方法来通知事件的登记对象    224

    11.1.4  第四步:定义方法将输入转化为期望事件    226

    11.2  编译器如何实现事件    226

    11.3  设计侦听事件的类型    228

    11.4  显式实现事件    230

    第12章  泛型    233

    12.1  FCL中的泛型    237

    12.2  泛型基础结构    238

    12.2.1  开放类型和封闭类型    239

    12.2.2  泛型类型和继承    240

    12.2.3  泛型类型同一性    242

    12.2.4  代码爆炸    243

    12.3  泛型接口    243

    12.4  泛型委托    244

    12.5  委托和接口的逆变和协变泛型类型实参    245

    12.6  泛型方法    247

    12.7  泛型和其他成员    249

    12.8  可验证性和约束    250

    12.8.1  主要约束    252

    12.8.2  次要约束    253

    12.8.3  构造器约束    254

    12.8.4  其他可验证性问题    254

    第13章  接口    259

    13.1  类和接口继承    259

    13.2  定义接口    260

    13.3  继承接口    261

    13.4  关于调用接口方法的更多探讨    263

    13.5  隐式和显式接口方法实现(幕后发生的事情)    264

    13.6  泛型接口    266

    13.7  泛型和接口约束    268

    13.8  实现多个具有相同方法名和签名的接口    269

    13.9  用显式接口方法实现来增强编译时类型安全性    270

    13.10  谨慎使用显式接口方法实现    271

    13.11  设计:基类还是接口    274

    第Ⅲ部分  基 本 类 型

    第14章  字符、字符串和文本处理    279

    14.1  字符    279

    14.2  System.String类型    282

    14.2.1  构造字符串    282

    14.2.2  字符串是不可变的    284

    14.2.3  比较字符串    285

    14.2.4  字符串留用    290

    14.2.5  字符串池    293

    14.2.6  检查字符串中的字符和文本元素    293

    14.2.7  其他字符串操作    295

    14.3  高效率构造字符串    296

    14.3.1  构造StringBuilder对象    296

    14.3.2  StringBuilder的成员    297

    14.4  获取对象的字符串表示:ToString    299

    14.4.1  指定具体的格式和语言文化    299

    14.4.2  将多个对象格式化成一个字符串    303

    14.4.3  提供定制格式化器    304

    14.5  解析字符串来获取对象:Parse    306

    14.6  编码:字符和字节的相互转换    308

    14.6.1  字符和字节流的编码和解码    313

    14.6.2  Base-64字符串编码和解码    314

    14.7  安全字符串    315

    第15章  枚举类型和位标志    319

    15.1  枚举类型    319

    15.2  位标志    324

    15.3  向枚举类型添加方法    328

    第16章  数组    329

    16.1  初始化数组元素    331

    16.2  数组转型    333

    16.3  所有数组都隐式派生自System.Array    335

    16.4  所有数组都隐式实现IEnumerable,ICollection和IList    336

    16.5  数组的传递和返回    337

    16.6  创建下限非零的数组    338

    16.7  数组的内部工作原理    339

    16.8  不安全的数组访问和固定大小的数组    342

    第17章  委托    345

    17.1  初识委托    345

    17.2  用委托回调静态方法    347

    17.3  用委托回调实例方法    349

    17.4  委托揭秘    349

    17.5  用委托回调多个方法(委托链)    353

    17.5.1  C#对委托链的支持    356

    17.5.2  取得对委托链调用的更多控制    357

    17.6  委托定义不要太多(泛型委托)    359

    17.7  C#为委托提供的简化语法    360

    17.7.1  简化语法1:不需要构造委托对象    360

    17.7.2  简化语法2:不需要定义回调方法(lambda表达式)    361

    17.7.3  简化语法3:局部变量不需要手动包装到类中即可传给回调方法    364

    17.8  委托和反射    367

    第18章  定制特性    371

    18.1  使用定制特性    371

    18.2  定义自己的特性类    374

    18.3  特性构造器和字段/属性数据类型    377

    18.4  检测定制特性    378

    18.5  两个特性实例的相互匹配    382

    18.6  检测定制特性时不创建从Attribute派生的对象    384

    18.7  条件特性类    387

    第19章  可空值类型    389

    19.1  C#对可空值类型的支持    391

    19.2  C#的空接合操作符    393

    19.3  CLR对可空值类型的特殊支持    394

    19.3.1  可空值类型的装箱    394

    19.3.2  可空值类型的拆箱    395

    19.3.3  通过可空值类型调用GetType    395

    19.3.4  通过可空值类型调用接口方法    395

    第Ⅳ部分  核 心 机 制

    第20章  异常和状态管理    399

    20.1  定义“异常”    399

    20.2  异常处理机制    401

    20.2.1  try块    402

    20.2.2  catch块    402

    20.2.3  finally块    404

    20.3  System.Exception类    407

    20.4  FCL定义的异常类    410

    20.5  抛出异常    412

    20.6  定义自己的异常类    413

    20.7  用可靠性换取开发效率    415

    20.8  设计规范和最佳实践    422

    20.8.1  善用finally块    423

    20.8.2  不要什么都捕捉    424

    20.8.3  得体地从异常中恢复    425

    20.8.4  发生不可恢复的异常时回滚部分完成的操作——维持状态    426

    20.8.5  隐藏实现细节来维系协定    427

    20.9  未处理的异常    429

    20.10  对异常进行调试    433

    20.11  异常处理的性能问题    435

    20.12  约束执行区域(CER)    438

    20.13  代码协定    441

    第21章  托管堆和垃圾回收    447

    21.1  托管堆基础    447

    21.1.1  从托管堆分配资源    448

    21.1.2  垃圾回收算法    449

    21.1.3  垃圾回收和调试    451

    21.2  代:提升性能    454

    21.2.1  垃圾回收触发条件    458

    21.2.2  大对象    459

    21.2.3  垃圾回收模式    459

    21.2.4  强制垃圾回收    462

    21.2.5  监视应用程序的内存使用    463

    21.3  使用需要特殊清理的类型    464

    21.3.1  使用包装了本机资源的类型    470

    21.3.2  一个有趣的依赖性问题    474

    21.3.3  GC为本机资源提供的其他功能    475

    21.3.4  终结的内部工作原理    479

    21.3.5  手动监视和控制对象的生存期    481

    第22章  CLR寄宿和AppDomain    489

    22.1  CLR寄宿    489

    22.2  AppDomain    491

    跨越AppDomain边界访问对象    494

    22.3  卸载AppDomain    504

    22.4  监视AppDomain    505

    22.5  AppDomain FirstChance异常通知    507

    22.6  宿主如何使用AppDomain    507

    22.6.1  可执行应用程序    507

    22.6.2  Microsoft Silverlight富Internet应用程序    508

    22.6.3  Microsoft ASP.NET和XMLWeb服务应用程序    508

    22.6.4  Microsoft SQL Server    509

    22.6.5  更多的用法只局限于想象力    509

    22.7  高级宿主控制    509

    22.7.1  使用托管代码管理CLR    509

    22.7.2  写健壮的宿主应用程序    510

    22.7.3  宿主如何拿回它的线程    511

    第23章  程序集加载和反射    515

    23.1  程序集加载    516

    23.2  使用反射构建动态可扩展应用程序    520

    23.3  反射的性能    521

    23.3.1  发现程序集中定义的类型    522

    23.3.2  类型对象的准确含义    522

    23.3.3  构建Exception派生类型的层次结构    524

    23.3.4  构造类型的实例    525

    23.4  设计支持加载项的应用程序    527

    23.5  使用反射发现类型的成员    529

    23.5.1  发现类型的成员    530

    23.5.2  调用类型的成员    533

    23.5.3  使用绑定句柄减少进程的内存消耗    537

    第24章  运行时序列化    541

    24.1  序列化/反序列化快速入门    542

    24.2  使类型可序列化    546

    24.3  控制序列化和反序列化    548

    24.4  格式化器如何序列化类型实例    551

    24.5  控制序列化/反序列化的数据    552

    24.6  流上下文    558

    24.7  类型序列化为不同类型以及对象反序列化为不同对象    559

    24.8  序列化代理    562

    24.9  反序列化对象时重写程序集/类型    566

    第25章  与WinRT组件互操作    569

    25.1  CLR投射与WinRT组件类型系统规则    571

    25.2  框架投射    575

    25.2.1  从.NET代码中调用异步WinRT API    575

    25.2.2  WInRT流和.NET流之间的互操作    579

    25.2.3  在CLR和WinRT之间传输数据块    580

    25.3  用C#定义WinRT组件    583

    第Ⅴ部分  线 程 处 理

    第26章  线程基础    591

    26.1  Windows为什么要支持线程    591

    26.2  线程开销    592

    26.3  停止疯狂    595

    26.4  CPU发展趋势    597

    26.5  CLR线程和Windows线程    598

    26.6  使用专用线程执行异步的计算限制操作    599

    26.7  使用线程的理由    601

    26.8  线程调度和优先级    603

    26.9  前台线程和后台线程    608

    26.10  继续学习    609

    第27章  计算限制的异步操作    611

    27.1  CLR线程池基础    612

    27.2  执行简单的计算限制操作    612

    27.3  执行上下文    614

    27.4  协作式取消和超时    615

    27.5  任务    619

    27.5.1  等待任务完成并获取结果    620

    27.5.2  取消任务    622

    27.5.3  任务完成时自动启动新任务    623

    27.5.4  任务可以启动子任务    625

    27.5.5  任务内部揭秘    625

    27.5.6  任务工厂    627

    27.5.7  任务调度器    628

    27.6  Parallel的静态For,ForEach和Invoke方法    630

    27.7  并行语言集成查询(PLINQ)    634

    27.8  执行定时计算限制操作    636

    27.9  线程池如何管理线程    639

    27.9.1  设置线程池限制    639

    27.9.2  如何管理工作者线程    640

    第28章  I/O限制的异步操作    643

    28.1  Windows如何执行I/O操作    643

    28.2  C#的异步函数    647

    28.3  编译器如何将异步函数转换成状态机    649

    28.4  异步函数扩展性    653

    28.5  异步函数和事件处理程序    655

    28.6  FCL的异步函数    656

    28.7  异步函数和异常处理    658

    28.8  异步函数的其他功能    658

    28.9  应用程序及其线程处理模型    661

    28.10  以异步方式实现服务器    663

    28.11  取消I/O操作    664

    28.12  有的I/O操作必须同步进行    665

    28.13  I/O请求优先级    666

    第29章  基元线程同步构造    669

    29.1  类库和线程安全    671

    29.2  基元用户模式和内核模式构造    672

    29.3  用户模式构造    673

    29.3.1  易变构造    674

    29.3.2  互锁构造    678

    29.3.3  实现简单的自旋锁    682

    29.3.4  Interlocked Anything模式    685

    29.4  内核模式构造    687

    29.4.1  Event构造    691

    29.4.2  Semaphore构造    693

    29.4.3  Mutex构造    694

    第30章  混合线程同步构造    697

    30.1  一个简单的混合锁    697

    30.2  自旋、线程所有权和递归    699

    30.3  FCL中的混合构造    701

    30.3.1  ManualResetEventSlim类和SemaphoreSlim类    701

    30.3.2  Monitor类和同步块    701

    30.3.3  ReaderWriterLockSlim类    706

    30.3.4  OneManyLock类    709

    30.3.5  CountdownEvent类    711

    30.3.6  Barrier类    711

    30.3.7  线程同步构造小结    712

    30.4  著名的双检锁技术    713

    30.5  条件变量模式    717

    30.6  异步的同步构造    719

    30.7  并发集合类    723

    译者后记    727



    内 容 简 介

    本书针对CLR和.NET Framework 4.5进行深入、全面的探讨,并结合实例介绍了如何利用它们进行设计、开发和调试。全书5部分共29章。第Ⅰ部分介绍CLR基础,第Ⅱ部分解释如何设计类型,第Ⅲ部分介绍基本类型,第Ⅳ部分以核心机制为主题,第Ⅴ部分重点介绍线程处理。

    通过本书的阅读,读者可以掌握CLR和.NET Framework的精髓,轻松、高效地创建高性能应用程序。

    © 2014 Tsinghua University Press Limited

    Authorized translation of the English edition of Microsoft CLR via C#, 4th Edition.
    Copyright © 2012 by Jeffrey Richter. This translation is published and sold by permission of O'Reilly Media, Inc., which owns or controls of all rights to publish and sell the same.



     

    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购