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

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

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

  • C#图解教程(第5版)
  • 新华书店正版
    • 作者: (美)丹尼尔·索利斯(Daniel Solis),(美)卡尔·施罗坦博尔(Cal Schrotenboer)著 | | 窦衍森 等译
    • 出版社: 人民邮电出版社
    • 出版时间:2019-11-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

         https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: (美)丹尼尔·索利斯(Daniel Solis),(美)卡尔·施罗坦博尔(Cal Schrotenboer)著| 窦衍森 等译
    • 出版社:人民邮电出版社
    • 出版时间:2019-11-01 00:00:00
    • 版次:1
    • 印次:1
    • 印刷时间:2019-11-01
    • 字数:868千字
    • 页数:570
    • 开本:16开
    • 装帧:平装
    • ISBN:9787115519184
    • 国别/地区:中国
    • 版权提供:人民邮电出版社

    C#图解教程(第5版)

    作  者:(美)丹尼尔·索利斯(Daniel Solis),(美)卡尔·施罗坦博尔(Cal Schrotenboer) 著 窦衍森 等 译
    定  价:129
    出 版 社:人民邮电出版社
    出版日期:2019年11月01日
    页  数:570
    装  帧:平装
    ISBN:9787115519184
    主编推荐

    ·长销十余年、数万读者认可的C#入门经典教程 ·全面涵盖C# 6.0和C# 7.0的新增特性 本书是经典的C#入门书,一版再版,全面讲授了C#编程语言的基础知识和工作原理。作者使用简洁的文字描述,辅以清晰易懂的图示,来解释C#中的重要概念,使得每一个知识点既直观明了又易于记忆。这一版补充介绍了C#新的语言特性以及.NET Core。 本书是高效掌握和透彻理解C#语言的不二之选!

    内容简介

    本书是广受赞誉的《C#图解教程》的近期新版本。作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式、朴实简洁的文字,并辅以大量表格和代码示例,全面、直观地阐述了C#语言的各种特性。新版本除了精心修订旧版内容外,还全面涵盖了C#6.0和C#7.0的新增特性,比如局部函数、throw表达式、nameof和空条件运算符、usingstatic指令、异常过滤器,等等。通过本书,读者能够快速、深入地理解C#,为自己的编程生涯打下良好的基础。

    作者简介

    丹尼尔·索利斯(Daniel Solis) 拥有20余年软件开发经验,微软、IBM等公司技术顾问。他不仅是深受读者爱戴和推崇的技术图书作家,而且也是享誉世界的技术培训专家,在美国和欧洲各地传授编程语言、Windows程序设计和Unix底层技术的经验和心得。 卡尔·施罗坦博尔(Cal Schrotenboer) 拥有20余年软件开发经验,精通C#,一直从事企业级软件开发。近十年来他还在加州的一些社区大学教授.NET相关课程。

    精彩内容

    目录
    第1章C#和.NET框架1
    1.1在.NET之前1
    1.1.120世纪90年代末的Windows编程1
    1.1.2下一代平台服务的目标2
    1.2.NET时代2
    1.2.1.NET框架的组成2
    1.2.2大大改进的编程环境3
    1.3编译成CIL5
    1.4编译成本机代码并执行6
    1.5CLR7
    1.6CLI8
    1.7各种缩写9
    1.8C#的演化9
    1.9C#和Windows的演化10
    第2章C#和.NETCore11
    2.1.NET框架的背景11
    2.2为什么选择.NETCore(和Xamarin)11
    2.3.NETCore的目标12
    2.4多平台支持13
    2.5快速发展和升级13
    2.6程序占用空间小、部署简单、版本问题少13
    2.7开源社区支持14
    2.8改进的应用程序性能14
    2.9全新的开始14
    2.10.NETCore的发展15
    2.11.NET框架的未来15
    2.12Xamarin的适用之处15
    第3章C#编程概述16
    3.1一个简单的C#程序16
    3.2标识符18
    3.3关键字18
    3.4Main:程序的起始点19
    3.5空白19
    3.6语句20
    3.7从程序中输出文本21
    3.7.1Write21
    3.7.2WriteLine21
    3.7.3格式字符串22
    3.7.4多重标记和值23
    3.7.5格式化数字字符串24
    3.8注释:为代码添加注解28
    3.8.1关于注释的更多内容28
    3.8.2文档注释29
    3.8.3注释类型总结29
    第4章类型、存储和变量30
    4.1C#程序是一组类型声明30
    4.2类型是一种模板31
    4.3实例化类型31
    4.4数据成员和函数成员32
    4.5预定义类型33
    4.6用户定义类型34
    4.7栈和堆35
    4.7.1栈35
    4.7.2堆36
    4.8值类型和引用类型37
    4.8.1存储引用类型对象的成员38
    4.8.2C#类型的分类38
    4.9变量39
    4.9.1变量声明39
    4.9.2多变量声明41
    4.9.3使用变量的值41
    4.10静态类型和dynamic关键字41
    4.11可空类型42
    第5章类的基本概念43
    5.1类的概述43
    5.2程序和类:一个简单的示例44
    5.3声明类45
    5.4类成员45
    5.4.1字段45
    5.4.2方法47
    5.5创建变量和类的实例48
    5.6为数据分配内存48
    5.7实例成员49
    5.8访问修饰符50
    5.9从类的内部访问成员52
    5.10从类的外部访问成员53
    5.11综合应用54
    第6章方法56
    6.1方法的结构56
    6.2方法体内部的代码执行57
    6.3局部变量58
    6.3.1类型推断和var关键字59
    6.3.2嵌套块中的局部变量59
    6.4局部常量60
    6.5控制流61
    6.6方法调用62
    6.7返回值63
    6.8返回语句和void方法64
    6.9局部函数66
    6.10参数66
    6.10.1形参67
    6.10.2实参67
    6.11值参数69
    6.12引用参数71
    6.13引用类型作为值参数和引用参数73
    6.14输出参数76
    6.15参数数组79
    6.15.1方法调用80
    6.15.2将数组作为实参82
    6.16参数类型总结83
    6.17ref局部变量和ref返回83
    6.18方法重载86
    6.19命名参数87
    6.20可选参数88
    6.21栈帧91
    6.22递归93
    第7章深入理解类95
    7.1类成员95
    7.2成员修饰符的顺序96
    7.3实例类成员97
    7.4静态字段98
    7.5从类的外部访问静态成员98
    7.5.1静态字段示例99
    7.5.2静态成员的生存期100
    7.6静态函数成员101
    7.7其他静态类成员类型102
    7.8成员常量102
    7.9常量与静态量103
    7.10属性103
    7.10.1属性声明和访问器104
    7.10.2属性示例105
    7.10.3使用属性106
    7.10.4属性和关联字段106
    7.10.5执行其他计算107
    7.10.6只读和只写属性108
    7.10.7属性与公有字段109
    7.10.8计算只读属性示例109
    7.10.9自动实现属性110
    7.10.10静态属性111
    7.11实例构造函数112
    7.11.1带参数的构造函数113
    7.11.2默认构造函数114
    7.12静态构造函数114
    7.13对象初始化语句116
    7.14析构函数117
    7.15readonly修饰符117
    7.16this关键字118
    7.17索引器119
    7.17.1什么是索引器120
    7.17.2索引器和属性120
    7.17.3声明索引器121
    7.17.4索引器的set访问器122
    7.17.5索引器的get访问器122
    7.17.6关于索引器的更多内容123
    7.17.7为Employee示例声明索引器123
    7.17.8另一个索引器示例124
    7.17.9索引器重载125
    7.18访问器的访问修饰符126
    7.19分部类和分部类型127
    7.20分部方法128
    第8章类和继承130
    8.1类继承130
    8.2访问继承的成员131
    8.3所有类都派生自object类132
    8.4屏蔽基类的成员133
    8.5基类访问135
    8.6使用基类的引用135
    8.6.1虚方法和覆写方法137
    8.6.2覆写标记为override的方法139
    8.6.3覆盖其他成员类型142
    8.7构造函数的执行142
    8.7.1构造函数初始化语句144
    8.7.2类访问修饰符145
    8.8程序集间的继承146
    8.9成员访问修饰符148
    8.9.1访问成员的区域149
    8.9.2公有成员的可访问性150
    8.9.3私有成员的可访问性150
    8.9.4受保护成员的可访问性150
    8.9.5内部成员的可访问性151
    8.9.6受保护内部成员的可访问性151
    8.9.7成员访问修饰符小结152
    8.10抽象成员153
    8.11抽象类154
    8.11.1抽象类和抽象方法的示例154
    8.11.2抽象类的另一个例子155
    8.12密封类156
    8.13静态类156
    8.14扩展方法157
    8.15命名约定160
    第9章表达式和运算符162
    9.1表达式162
    9.2字面量163
    9.2.1整数字面量164
    9.2.2实数字面量165
    9.2.3字符字面量166
    9.2.4字符串字面量167
    9.3求值顺序168
    9.3.1优先级168
    9.3.2结合性169
    9.4简单算术运算符170
    9.5求余运算符170
    9.6关系比较运算符和相等比较运算符171
    9.7递增运算符和递减运算符173
    9.8条件逻辑运算符174
    9.9逻辑运算符175
    9.10移位运算符176
    9.11赋值运算符178
    9.12条件运算符179
    9.13一元算术运算符181
    9.14用户定义的类型转换181
    9.15运算符重载184
    9.15.1运算符重载的示例185
    9.15.2运算符重载的186
    9.16typeof运算符189
    9.17nameof运算符190
    9.18其他运算符191
    第10章语句192
    10.1什么是语句192
    10.2表达式语句193
    10.3控制流语句194
    10.4if语句194
    10.5ifelse语句195
    10.6while循环196
    10.7do循环197
    10.8for循环198
    10.8.1for语句中变量的作用域200
    10.8.2初始化和迭代表达式中的多表达式200
    10.9switch语句201
    10.9.1分支示例203
    10.9.2其他类型的模式表达式203
    10.9.3switch语句的补充205
    10.9.4分支标签206
    10.10跳转语句207
    10.11break语句207
    10.12continue语句208
    10.13标签语句209
    10.13.1标签209
    10.13.2标签语句的作用域209
    10.14goto语句210
    10.15using语句211
    10.15.1包装资源的使用212
    10.15.2using语句的示例212
    10.15.3多个资源和嵌套213
    10.15.4using语句的另一种形式214
    10.16其他语句215
    第11章结构216
    11.1什么是结构216
    11.2结构是值类型217
    11.3对结构赋值218
    11.4构造函数和析构函数219
    11.4.1实例构造函数219
    11.4.2静态构造函数220
    11.4.3构造函数和析构函数小结221
    11.5属性和字段初始化语句221
    11.6结构是密封的221
    11.7装箱和拆箱222
    11.8结构作为返回值和参数222
    11.9关于结构的更多内容222
    第12章枚举223
    12.1枚举223
    12.1.1设置底层类型和显式值225
    12.1.2隐式成员编号225
    12.2位标志226
    12.2.1Flags特性229
    12.2.2使用位标志的示例230
    12.3关于枚举的更多内容231
    第13章数组234
    13.1数组234
    13.1.1定义234
    13.1.2重要细节235
    13.2数组的类型235
    13.3数组是对象236
    13.4一维数组和矩形数组237
    13.5实例化一维数组或矩形数组238
    13.6访问数组元素238
    13.7初始化数组239
    13.7.1显式初始化一维数组240
    13.7.2显式初始化矩形数组240
    13.7.3初始化矩形数组的语法点241
    13.7.4快捷语法241
    13.7.5隐式类型数组241
    13.7.6综合内容242
    13.8交错数组242
    13.8.1声明交错数组243
    13.8.2快捷实例化243
    13.8.3实例化交错数组244
    13.8.4交错数组中的子数组245
    13.9比较矩形数组和交错数组246
    13.10foreach语句247
    13.10.1迭代变量是只读的248
    13.10.2foreach语句和多维数组249
    13.11数组协变250
    13.12数组继承的有用成员251
    13.13比较数组类型254
    13.14数组与ref返回和ref局部变量255
    第14章委托256
    14.1什么是委托256
    14.2委托概述258
    14.3声明委托类型259
    14.4创建委托对象260
    14.5给委托赋值261
    14.6组合委托262
    14.7为委托添加方法262
    14.8从委托移除方法263
    14.9调用委托263
    14.10委托的示例264
    14.11调用带返回值的委托265
    14.12调用带引用参数的委托266
    14.13匿名方法267
    14.13.1使用匿名方法268
    14.13.2匿名方法的语法268
    14.13.3变量和参数的作用域270
    14.14Lambda表达式271
    第15章事件274
    15.1发布者和订阅者274
    15.2源代码组件概览276
    15.3声明事件276
    15.4订阅事件277
    15.5触发事件278
    15.6标准事件的用法280
    15.6.1通过扩展EventArgs来传递数据281
    15.6.2移除事件处理程序283
    15.7事件访问器284
    第16章接口286
    16.1什么是接口286
    16.2声明接口291
    16.3实现接口292
    16.4接口是引用类型294
    16.5接口和as运算符295
    16.6实现多个接口295
    16.7实现具有重复成员的接口296
    16.8多个接口的引用298
    16.9派生成员作为实现299
    16.10显式接口成员实现300
    16.11接口可以继承接口302
    16.12不同类实现一个接口的示例303
    第17章转换305
    17.1什么是转换305
    17.2隐式转换306
    17.3显式转换和强制转换307
    17.4转换的类型308
    17.5数字的转换309
    17.5.1隐式数字转换309
    17.5.2溢出检测上下文310
    17.5.3显式数字转换311
    17.6引用转换315
    17.6.1隐式引用转换316
    17.6.2显式引用转换317
    17.6.3有效显式引用转换318
    17.7装箱转换318
    17.7.1装箱是创建副本319
    17.7.2装箱转换320
    17.8拆箱转换320
    17.9用户自定义转换321
    17.9.1用户自定义转换的约束322
    17.9.2用户自定义转换的示例322
    17.9.3评估用户自定义转换323
    17.9.4多步用户自定义转换的示例324
    17.10is运算符325
    17.11as运算符326
    第18章泛型327
    18.1什么是泛型327
    18.2C#中的泛型329
    18.3泛型类330
    18.3.1声明泛型类331
    18.3.2创建构造类型331
    18.3.3创建变量和实例332
    18.3.4使用泛型的栈的示例333
    18.3.5比较泛型和非泛型栈334
    18.4类型参数的约束335
    18.4.1Where子句336
    18.4.2约束类型和次序337
    18.5泛型方法337
    18.5.1声明泛型方法338
    18.5.2调用泛型方法338
    18.5.3泛型方法的示例339
    18.6扩展方法和泛型类340
    18.7泛型结构341
    18.8泛型委托342
    18.9泛型接口344
    18.9.1使用泛型接口的示例345
    18.9.2泛型接口的实现必须专享345
    18.10协变和逆变346
    18.10.1协变346
    18.10.2逆变349
    18.10.3协变和逆变的不同350
    18.10.4接口的协变和逆变351
    18.10.5关于可变性的更多内容352
    第19章枚举器和迭代器354
    19.1枚举器和可枚举类型354
    19.2IEnumerator接口356
    19.3IEnumerable接口358
    19.4泛型枚举接口360
    19.5迭代器362
    19.5.1迭代器块362
    19.5.2使用迭代器来创建枚举器363
    19.5.3使用迭代器来创建可枚举类型365
    19.6常见迭代器模式366
    19.7产生多个可枚举类型367
    19.8将迭代器作为属性368
    19.9迭代器的实质369
    第20章LINQ371
    20.1什么是LINQ371
    20.2LINQ提供程序372
    20.3方法语法和查询语法374
    20.4查询变量375
    20.5查询表达式的结构376
    20.5.1from子句377
    20.5.2join子句378
    20.5.3什么是联结379
    20.5.4查询主体中的fromletwhere片段381
    20.5.5orderby子句384
    20.5.6selectgroup子句385
    20.5.7查询中的匿名类型386
    20.5.8group子句387
    20.5.9查询延续:into子句388
    20.6标准查询运算符389
    20.6.1标准查询运算符的签名392
    20.6.2查询表达式和标准查询运算符393
    20.6.3将委托作为参数394
    20.6.4LINQ预定义的委托类型395
    20.6.5使用委托参数的示例396
    20.6.6使用Lambda表达式参数的示例397
    20.7LINQtoXML398
    20.7.1标记语言398
    20.7.2XML基础398
    20.7.3XML类400
    20.7.4使用XML特性406
    20.7.5其他类型的节点408
    20.7.6使用LINQtoXML的LINQ查询409
    第21章异步编程412
    21.1什么是异步412
    21.2async/await特性的结构416
    21.3什么是异步方法417
    21.3.1异步方法的控制流421
    21.3.2取消一个异步操作427
    21.3.3在调用方法中同步地等待任务430
    21.3.4在异步方法中异步地等待任务433
    21.3.5Task.Delay方法435
    21.4GUI程序中的异步操作436
    21.5使用异步Lambda表达式440
    21.6完整的GUI程序441
    21.7BackgroundWorker类443
    21.8并行循环447
    21.9其他异步编程模式450
    21.10BeginInvoke和EndInvoke451
    21.10.1等待直到完成模式452
    21.10.2AsyncResult类453
    21.10.3轮询模式454
    21.10.4回调模式455
    21.11计时器458
    第22章命名空间和程序集460
    22.1引用其他程序集460
    22.2命名空间464
    22.2.1命名空间名称467
    22.2.2命名空间的补充467
    22.2.3命名空间跨文件伸展468
    22.2.4嵌套命名空间469
    22.3using指令470
    22.3.1using命名空间指令470
    22.3.2using别名指令471
    22.3.3usingstatic指令471
    22.4程序集的结构472
    22.5程序集标识符473
    22.6强命名程序集474
    22.7私有程序集的部署475
    22.8共享程序集和GAC476
    22.8.1把程序集安装到GAC476
    22.8.2GAC内的并肩执行477
    22.9配置文件477
    22.10延迟签名478
    第23章异常480
    23.1什么是异常480
    23.2try语句481
    23.3异常类482
    23.4catch子句483
    23.5异常过滤器485
    23.6catch子句段485
    23.7finally块486
    23.8为异常寻找处理程序487
    23.9进一步搜索488
    23.9.1一般法则489
    23.9.2搜索调用栈的示例489
    23.10抛出异常492
    23.11不带异常对象的抛出493
    23.12throw表达式494
    第24章预处理指令495
    24.1什么是预处理指令495
    24.2基本规则495
    24.3#define和#undef指令496
    24.4条件编译497
    24.5条件编译结构498
    24.6诊断指令500
    24.7行号指令501
    24.8区域指令502
    24.9#pragmawarning指令503
    第25章反射和特性504
    25.1元数据和反射504
    25.2Type类505
    25.3获取Type对象506
    25.4什么是特性508
    25.5应用特性509
    25.6预定义的保留特性509
    25.6.1Obsolete特性509
    25.6.2Conditional特性510
    25.6.3调用者信息特性512
    25.6.4DebuggerStepThrough特性513
    25.6.5其他预定义特性514
    25.7关于应用特性的更多内容514
    25.7.1多个特性514
    25.7.2其他类型的目标515
    25.7.3全局特性515
    25.8自定义特性516
    25.8.1声明自定义特性516
    25.8.2使用特性的构造函数516
    25.8.3指定构造函数517
    25.8.4使用构造函数517
    25.8.5构造函数中的位置参数和命名参数518
    25.8.6特性的使用518
    25.8.7自定义特性的很好实践520
    25.9访问特性520
    25.9.1使用IsDefined方法520
    25.9.2使用GetCustomAttributes方法521
    第26章C#6.0和C#7.0新增的内容523
    26.1新增内容概述524
    26.2字符串插值(C#6.0)524
    26.3自动属性初始化语句525
    26.4只读自动属性(C#6.0)526
    26.5表达式函数体成员(C#6.0和C#7.0)526
    26.6usingstatic(C#6.0)527
    26.7空条件运算符(C#6.0)528
    26.8在catch和finally块中使用await(C#6.0)528
    26.9nameof运算符(C#6.0)529
    26.10异常过滤器(C#6.0)529
    26.11索引初始化语句(C#6.0)530
    26.12集合初始化语句的扩展方法(C#6.0)532
    26.13改进的重载决策(C#6.0)533
    26.14值元组(C#7.0)534
    26.15is模式匹配(C#7.0)534
    26.16switch模式匹配(C#7.0)536
    26.17自定义析构函数(C#7.0)538
    26.18二进制字面量和数字分隔符(C#7.0)540
    26.19out变量(C#7.0)541
    26.20局部函数(C#7.0)542
    26.21ref局部变量(ref变量)和ref返回(C#7.0)544
    26.22表达式函数体成员的扩展(C#7.0)544
    26.23throw表达式(C#7.0)545
    26.24扩展的async返回类型(C#7.0)545
    第27章其他主题546
    27.1概述546
    27.2字符串546
    27.3StringBuilder类548
    27.4把字符串解析为数据值549
    27.5关于可空类型的更多内容550
    27.5.1为可空类型赋值552
    27.5.2使用空接合运算符552
    27.5.3空条件运算符553
    27.5.4使用可空用户定义类型555
    27.6Main方法556
    27.7文档注释558
    27.7.1插入文档注释558
    27.7.2使用其他XML标签559
    27.8嵌套类型559
    27.8.1嵌套类的示例560
    27.8.2可见性和嵌套类型561
    27.9析构函数和dispose模式563
    27.9.1标准dispose模式564
    27.9.2比较构造函数和析构函数566
    27.10Tuple和ValueTuple566
    27.11和COM的互操作568

    售后保障

    最近浏览

    猜你喜欢

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

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

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

    查看我的收藏夹

    确定

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

    关闭

    抱歉,您暂无任性付资格

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