注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计.NETC#编程语言详解

C#编程语言详解

C#编程语言详解

定 价:¥55.00

作 者: (美)Anders Hejlsberg,(美)Scott Wiltamuth,(美)Peter Golde著;张晓坤,谭立平,车树良译
出版社: 电子工业出版社
丛编项: NET技术大系
标 签: C#

ISBN: 9787121002281 出版时间: 2004-09-01 包装: 平装
开本: 26cm 页数: 482 字数:  

内容简介

  C#是一门简单、现代、优雅、面向对象、类型安全、平台独立的组件编程语言,是.NET的关键性语言,也是整个.NET平台的基础,它使程序员能快速地为新一代Microsoft.Net平台开发出应用程序。全书以通俗易懂的语言,精辟丰富的实例,从对C#的简介开始,全面讲解了C#编程语言规范以及各个层面的特性,内容包括C#的词法结构、类型、变量、表达式、类、结构、不安全代码、泛型,等等。本书内容翔实,实用性强,适合作为高等院校学生学习编程语言的教材,也是希望深入探索C#编程知识的广大程序开发人员绝佳的技术参考书。

作者简介

  AndersHejlsberg,程序界的一个神话。他是C#语言的架构师和Microsoft公司卓越的工程师。在Borland公司就职的13年中,他担任Delphi和TurboPascal的首席架构师,之后于1996年加盟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
  第2章  词法结构  34
  2.1  程序  34
  2.2  文法  34
  2.2.1  文法表示法  34
  2.2.2  词法文法  35
  2.2.3  句法文法  35
  2.3  词法分析  36
  2.3.1  行结束符  36
  2.3.2  空白  37
  2.3.3注释  37
  2.4  标记  38
  2.4.1  Unicode字符转义序列  39
  2.4.2  标识符  39
  2.4.3  关键字  41
  2.4.4  文本  42
  2.4.5  运算符和标点  47
  2.5  预处理指令  47
  2.5.1  条件编译符号  48
  2.5.2  预处理表达式  49
  2.5.3  声明指令  50
  2.5.4  条件编译指令  51
  2.5.5  诊断指令  53
  2.5.6  区域指令  54
  2.5.7  行指令  55
  第3章  基本概念  56
  3.1  应用程序启动  56
  3.2  应用程序终止  57
  3.3  声明  57
  3.4  成员  59
  3.4.1  命名空间成员  59
  3.4.2  结构成员  60
  3.4.3  枚举成员  60
  3.4.4  类成员  60
  3.4.5  接口成员  60
  3.4.6  数组成员  61
  3.4.7  委托成员  61
  3.5  成员访问  61
  3.5.1  已声明可访问性  61
  3.5.2 可访问域  62
  3.5.3  实例成员的受保护访问  64
  3.5.4  可访问性约束  65
  3.6  签名和重载  66
  3.7  范围  66
  3.8  命名空间和类型名称  70
  3.9  自动内存管理  72
  3.10  执行顺序  75
  第4章  类型  76
  4.1  值类型  76
  4.1.1  System.ValueType 类型  77
  4.1.2  默认构造函数  77
  4.1.3  结构类型  78
  4.1.4  简单类型  78
  4.1.5  整型  79
  4.1.6  浮点型  80
  4.1.7  decimal 类型  81
  4.1.8  bool 类型  82
  4.1.9  枚举类型  82
  4.2  引用类型  82
  4.2.1  类类型  83
  4.2.2  对象类型  84
  4.2.3  string 类型  84
  4.2.4  接口类型  84
  4.2.5  数组类型  84
  4.2.6  委托类型  84
  4.3  装箱和取消装箱  85
  4.3.1  装箱转换  85
  4.3.2  取消装箱转换  86
  第5章  变量  87
  5.1  变量类别  87
  5.1.1  静态变量  87
  5.1.2  实例变量  88
  5.1.3  数组元素  88
  5.1.4  值参数  88
  5.1.5  引用参数  88
  5.1.6  输出参数  89
  5.1.7  局部变量  89
  5.2  默认值  90
  5.3  明确赋值  90
  5.3.1  初始已赋值变量  91
  5.3.2  初始未赋值变量  91
  5.3.3  确定明确赋值的细则  91
  5.4  变量引用  101
  5.5  变量引用的原子性  101
  第6章  转换  102
  6.1  隐式转换  102
  6.1.1  标识转换  102
  6.1.2  隐式数值转换  102
  6.1.3  隐式枚举转换  103
  6.1.4  隐式引用转换  103
  6.1.5  装箱转换  104
  6.1.6  隐式常数表达式转换  104
  6.1.7  用户定义的隐式转换  104
  6.2  显式转换  104
  6.2.1  显式数值转换  105
  6.2.2 显式枚举转换  106
  6.2.3  显式引用转换  106
  6.2.4  取消装箱转换  107
  6.2.5  用户定义的显式转换  107
  6.3  标准转换  107
  6.3.1  标准隐式转换  107
  6.3.2  标准显式转换  108
  6.4  用户定义的转换  108
  6.4.1  允许的用户定义转换  108
  6.4.2  用户定义的转换的计算  108
  6.4.3  用户定义的隐式转换  109
  6.4.4  用户定义的显式转换  110
  第7章  表达式  112
  7.1 表达式的分类  112
  7.2  运算符  113
  7.2.1  运算符的优先级和顺序关联性  113
  7.2.2  运算符重载  114
  7.2.3  一元运算符重载决策  115
  7.2.4  二元运算符重载决策  116
  7.2.5  候选用户定义运算符  116
  7.2.6  数值提升  116
  7.3  成员查找  118
  7.4  函数成员  119
  7.4.1  参数列表  120
  7.4.2  重载决策  123
  7.4.3  函数成员调用  125
  7.5  基本表达式  126
  7.5.1  文本  127
  7.5.2  简单名称  127
  7.5.3  带括号的表达式  128
  7.5.4  成员访问  129
  7.5.5  调用表达式  131
  7.5.6  元素访问  132
  7.5.7  This 访问  134
  7.5.8  Base 访问  134
  7.5.9  后缀增量和后缀减量运算符  135
  7.5.10  new 运算符  136
  7.5.11  typeof 运算符  140
  7.5.12  checked 和 unchecked 运算符  141
  7.6  一元运算符  143
  7.6.1  一元加运算符  143
  7.6.2  一元减运算符  144
  7.6.3  逻辑否定运算符  144
  7.6.4  按位求补运算符  145
  7.6.5  前缀增量和减量运算符  145
  7.6.6  强制转换表达式  146
  7.7  算术运算符  146
  7.7.1  乘法运算符  147
  7.7.2  除法运算符  148
  7.7.3  余数运算符  149
  7.7.4  加法运算符  150
  7.7.5  减法运算符  152
  7.8  移位运算符  153
  7.9  关系和类型测试运算符  155
  7.9.1  整数比较运算符  155
  7.9.2  浮点比较运算符  156
  7.9.3  小数比较运算符  157
  7.9.4  布尔相等运算符  157
  7.9.5  枚举比较运算符  157
  7.9.6  引用类型相等运算符  158
  7.9.7  字符串相等运算符  159
  7.9.8  委托相等运算符  159
  7.9.9  is 运算符  160
  7.9.10  as 运算符  160
  7.10  逻辑运算符  161
  7.10.1  整数逻辑运算符  161
  7.10.2  枚举逻辑运算符  162
  7.10.3  布尔逻辑运算符  162
  7.11  条件逻辑运算符  162
  7.11.1  布尔条件逻辑运算符  163
  7.11.2  用户定义的条件逻辑运算符  163
  7.12  条件运算符  164
  7.13  赋值运算符  165
  7.13.1 简单赋值  165
  7.13.2  复合赋值  167
  7.13.3  事件赋值  168
  7.14  表达式  168
  7.15  常数表达式  168
  7.16  布尔表达式  169
  第8章  语句  170
  8.1  结束点和可到达性  170
  8.2  块  172
  8.3  空语句  173
  8.4  标记语句  173
  8.5  声明语句  174
  8.5.1  局部变量声明  174
  8.5.2  局部常数声明  175
  8.6  表达式语句  175
  8.7  选择语句  176
  8.7.1  if 语句  176
  8.7.2  switch 语句  177
  8.8  迭代语句  181
  8.8.1  while 语句  181
  8.8.2  do 语句  181
  8.8.3  for 语句  182
  8.8.4  foreach 语句  183
  8.9  跳转语句  185
  8.9.1  break 语句  186
  8.9.2  continue 语句  187
  8.9.3  goto 语句  187
  8.9.4  return 语句  188
  8.9.5  throw 语句  189
  8.10  try 语句  190
  8.11  checked 语句和 unchecked 语句  193
  8.12  lock 语句  193
  8.13  using 语句  194
  第9章  命名空间  197
  9.1  编译单元  197
  9.2  命名空间声明  197
  9.3  using 指令  199
  9.3.1  using 别名指令  199
  9.3.2  using 命名空间指令  201
  9.4  命名空间成员  203
  9.5  类型声明  204
  第10章  类  205
  10.1 类声明  205
  10.1.1  类修饰符  205
  10.1.2  类基规范  207
  10.1.3 类体  208
  10.2  类成员  208
  10.2.1  继承  209
  10.2.2  new 修饰符  210
  10.2.3  访问修饰符  210
  10.2.4  构成类型  210
  10.2.5  静态成员和实例成员  211
  10.2.6  嵌套类型  212
  10.2.7  保留成员名称  215
  10.3  常数  217
  10.4  字段  218
  10.4.1  静态字段和实例字段  220
  10.4.2  只读字段  220
  10.4.3  易失字段  221
  10.4.4  字段初始化  223
  10.4.5  变量初始值设定项  223
  10.5  方法  226
  10.5.1  方法参数  227
  10.5.2  静态方法和实例方法  233
  10.5.3  虚拟方法  233
  10.5.4  重写方法  235
  10.5.5  密封方法  237
  10.5.6  抽象方法  237
  10.5.7  外部方法  239
  10.5.8  方法体  239
  10.5.9  方法重载  240
  10.6  属性  240
  10.6.1  静态属性和实例属性  241
  10.6.2  访问器  241
  10.6.3  虚拟、密封、重写和抽象访问器  246
  10.7  事件  247
  10.7.1  类似字段的事件  249
  10.7.2  事件访问器  250
  10.7.3  静态事件和实例事件  252
  10.7.4  虚拟、密封、重写和抽象访问器  252
  10.8  索引器  252
  10.9  运算符  256
  10.9.1  一元运算符  257
  10.9.2  二元运算符  258
  10.9.3  转换运算符  259
  10.10  实例构造函数  260
  10.10.1  构造函数初始值设定项  261
  10.10.2  实例变量初始值设定项  262
  10.10.3  构造函数执行  262
  10.10.4  默认构造函数  264
  10.10.5  私有构造函数  264
  10.10.6  可选的实例构造函数参数  265
  10.11  静态构造函数  265
  10.12  析构函数  267
  第11章  结构  270
  11.1 结构声明  270
  11.1.1  结构修饰符  270
  11.1.2 结构接口  271
  11.1.3  结构体  271
  11.2 结构成员  271
  11.3  类和结构的区别  272
  11.3.1  值语义  272
  11.3.2  继承  273
  11.3.3  赋值  273
  11.3.4  默认值  273
  11.3.5  装箱和取消装箱  274
  11.3.6  this 的意义  274
  11.3.7  字段初始值设定项  274
  11.3.8  构造函数  275
  11.3.9  析构函数  276
  11.4  结构示例  276
  11.4.1  数据库整数类型  276
  11.4.2  数据库布尔类型  277
  第12章  数组  280
  12.1  数组类型  280
  12.2  数组创建  281
  12.3  数组元素访问  281
  12.4  数组成员  281
  12.5  数组协方差  281
  12.6  数组初始值设定项  282
  第13章  接口  284
  13.1  接口声明  284
  13.1.1  接口修饰符  284
  13.1.2 基接口  285
  13.1.3  接口体  285
  13.2  接口成员  285
  13.2.1  接口方法  286
  13.2.2  接口属性  287
  13.2.3  接口事件  287
  13.2.4  接口索引器  287
  13.2.5  接口成员访问  288
  13.3  完全限定接口成员名  289
  13.4  接口实现  290
  13.4.1  显式接口成员实现  291
  13.4.2  接口映射  293
  13.4.3  接口实现继承  295
  13.4.4  接口重新实现  297
  13.4.5  抽象类和接口  298
  第14章  枚举  299
  14.1  枚举声明  299
  14.2  枚举修饰符  300
  14.3  枚举成员  300
  14.4  System.Enum 类型  302
  14.5  枚举值和运算  302
  第15章  委托  303
  15.1  委托声明  303
  15.2  委托实例化  305
  15.3  委托调用  306
  
  第16章  异常  308
  16.1  导致异常的原因  308
  16.2  System.Exception 类  308
  16.3  异常的处理方式  309
  16.4  公共异常类  309
  第17章  特性  311
  17.1  特性类  311
  17.1.1  特性用法  311
  17.1.2  定位和命名参数  312
  17.1.3  特性参数类型  313
  17.2  特性专用化  314
  17.3  特性实例  318
  17.3.1  特性的编译  319
  17.3.2  特性实例的运行时检索  319
  17.4  保留特性  319
  17.4.1  AttributeUsage 特性  320
  17.4.2  Conditional 特性  320
  17.4.3  Obsolete 特性  323
  17.5  互操作的特性  324
  17.5.1 与 COM 和 Win32 组件的互操作  324
  17.5.2  与其他 .NET 语言的交互操作  324
  第18章  不安全代码  325
  18.1  不安全上下文  325
  18.2  指针类型  328
  18.3  固定变量和可移动变量  330
  18.4  指针转换  331
  18.5  表达式中的指针  332
  18.5.1  指针间接寻址  332
  18.5.2  指针成员访问  333
  18.5.3  指针元素访问  334
  18.5.4  address-of 运算符  335
  18.5.5  指针增加和指针减小  335
  18.5.6  指针算法  336
  18.5.7  指针比较  337
  18.5.8  sizeof 运算符  337
  18.6  固定语句  338
  18.7  堆栈分配  341
  18.8  动态内存分配  342
  第二篇  C#2.0  243
  第19章  C# 2.0介绍  347
  19.1  泛型  347
  19.1.1  为什么使用泛型  347
  19.1.2  创建和使用泛型  348
  19.1.3  泛型类型实例化  349
  19.1.4约束  350
  19.1.5泛型方法  351
  19.2  匿名方法  352
  19.3  迭代器  354
  19.4  不完整类型  358
  第20章  泛型  360
  20.1  泛型类声明  360
  20.1.1  类型参数  360
  20.1.2  实例类型  362
  20.1.3  基类规范  362
  20.1.4  泛型类的成员  363
  20.1.5  泛型类中的静态字段  363
  20.1.6  泛型类中的静态构造函数  364
  20.1.7  访问受保护的成员  364
  20.1.8  在泛型类中重载  365
  20.1.9  参数数组方法和类型参数  366
  20.1.10  重写和泛型类  366
  20.1.11  泛型类中的运算符  367
  20.1.12  泛型类中的嵌套类型  368
  20.1.13  应用程序入口点  369
  20.2  泛型结构声明  369
  20.3  泛型接口声明  369
  20.3.1  实现接口的惟一性  370
  20.3.2  显式接口成员实现  370
  20.4  泛型委托声明  371
  20.5  构造类型  371
  20.5.1  类型实参  373
  20.5.2  开放类型和封闭类型  373
  20.5.3  构造类型的基类和接口  373
  20.5.4  构造类型的成员  374
  20.5.5  构造类型的可访问性  375
  20.5.6  转换  375
  20.5.7  System.Nullable<T>类型  376
  20.5.8  使用别名指令  376
  20.5.9  特性  376
  20.6  泛型方法  377
  20.6.1  泛型方法签名  378
  20.6.2  虚拟泛型方法  379
  20.6.3  调用泛型方法  379
  20.6.4  类型实参推断  379
  20.6.5  语法歧义  381
  20.6.6  对委托使用泛型方法  381
  20.6.7  非泛型属性、事件、索引器或运算符  382
  20.7  约束  382
  20.7.1  满足约束  384
  20.7.2  类型参数上的成员查找  385
  20.7.3  类型参数和装箱  385
  20.7.4  包含类型参数的转换  387
  20.8  表达式和语句  388
  20.8.1  默认值表达式  388
  20.8.2  对象创建表达式  389
  20.8.3  type of 运算符  389
  20.8.4  引用相等运算符  390
  20.8.5  is运算符  390
  20.8.6  as运算符  390
  20.8.7  异常语句  391
  20.8.8  lock语句  391
  20.8.9  using 语句  391
  20.8.10  foreach语句  391
  20.9  查找规则修订  392
  20.9.1  命名空间和类型名称  392
  20.9.2  成员查找  393
  20.9.3  简单名称  395
  20.9.4  成员访问  396
  20.9.5  方法调用  397
  20.9.6委托创建表达式  399
  20.10  右移语法改变  399
  第21章  匿名方法  401
  21.1  匿名方法表达式  401
  21.2  匿名方法签名  401
  21.3  匿名方法转换  402
  21.4  匿名方法块  403
  21.5  外部变量  404
  21.5.1  捕获外部变量  404
  21.5.2  局部变量实例化  405
  21.6  匿名方法求值  407
  21.7  委托实例相等性  407
  21.8  明确赋值  408
  21.9  方法组转换  408
  21.10  实现示例  409
  第22章  迭代器  412
  22.1  迭代器块  412
  22.1.1  枚举器接口  412
  22.1.2  可枚举接口  412
  22.1.3  yield 类型  412
  22.1.4  this 访问  413
  22.2  枚举对象  413
  22.2.1  MoveNext方法  414
  22.2.2  Current属性  415
  22.2.3  Dispose方法  415
  22.3  可枚举对象  415
  22.4  yield 语句  416
  22.5  实现示例  418
  第23章  不完整类型  422
  23.1  不完整类型声明  422
  23.1  特性  423
  23.1.2  修饰符  423
  23.1.3  类型参数和约束  423
  23.1.4  基类  424
  23.1.5  基接口  424
  23.1.6  成员  425
  23.2  名称绑定  425
  附录A  文档注释  427
  附录B  语法  445

本目录推荐