译者序 序 前言 致谢 作者简介 第1章 C#概述 / 1 1.1 Hello, World / 1 1.2 C#语法基础 / 8 1.3 使用变量 / 14 1.4 控制台输入和输出 / 17 1.5 注释 / 20 1.6 托管执行和CLI / 22 1.7 多个.NET框架 / 26 1.8 小结 / 28 第2章 数据类型 / 29 2.1 基本数值类型 / 29 2.2 更多基本类型 / 36 2.3 null和void / 46 2.4 数据类型转换 / 47 2.5 小结 / 52 第3章 更多数据类型 / 53 3.1 类型的划分 / 53 3.2 可空修饰符 / 55 3.3 元组 / 57 3.4 数组 / 62 3.5 小结 / 74 第4章 作符和控制流程 / 75 4.1 作符 / 75 4.2 控制流程概述 / 87 4.3 代码块({}) / 91 4.4 代码块、作用域和声明空间 / 93 4.5 布尔表达式 / 94 4.6 按位作符(<<,>>,|,&,^,~) / 101 4.7 控制流程语句(续) / 106 4.8 跳转语句 / 115 4.9 C#预处理器指令 / 119 4.10 小结 / 124 第5章 方法和参数 / 126 5.1 方法的调用 / 127 5.2 方法的声明 / 131 5.3 using指令 / 135 5.4 Main()的返回值和参数 / 139 5.5 方法参数 / 141 5.6 递归 / 149 5.7 方法重载 / 152 5.8 可选参数 / 154 5.9 用异常实现基本错误处理 / 157 5.10 小结 / 168 第6章 类 / 169 6.1 类的声明和实例化 / 172 6.2 实例字段 / 174 6.3 实例方法 / 176 6.4 使用this关键字 / 177 6.5 访问修饰符 / 183 6.6 属性 / 184 6.7 构造函数 / 197 6.8 静态成员 / 205 6.9 扩展方法 / 213 6.10 封装数据 / 214 6.11 嵌套类 / 216 6.12 分部类 / 218 6.13 小结 / 222 第7章 继承 / 223 7.1 派生 / 224 7.2 重写基类 / 232 7.3 抽象类 / 242 7.4 所有类都从System.Object派生 / 246 7.5 使用is作符验证基础类型 / 247 7.6 用is作符进行模式匹配 / 248 7.7 switch语句中的模式匹配 / 248 7.8 使用as作符进行转换 / 250 7.9 小结 / 251 第8章 接口 / 252 8.1 接口概述 / 253 8.2 通过接口实现多态性 / 254 8.3 接口实现 / 258 8.4 在实现类和接口之间转换 / 262 8.5 接口继承 / 263 8.6 多接口继承 / 265 8.7 接口上的扩展方法 / 265 8.8 通过接口实现多继承 / 266 8.9 版本控制 / 269 8.10 比较接口和类 / 270 8.11 比较接口和特性 / 271 8.12 小结 / 271 第9章 值类型 / 272 9.1 结构 / 275 9.2 装箱 / 279 9.3 枚举 / 285 9.4 小结 / 293 第10章 合式类型 / 295 10.1 重写object的成员 / 295 10.2 作符重载 / 305 10.3 引用其他程序集 / 311 10.4 定义命名空间 / 318 10.5 XML注释 / 320 10.6 垃圾回收 / 323 10.7 资源清理 / 325 10.8 推迟初始化 / 332 10.9 小结 / 333 第11章 异常处理 / 334 11.1 多异常类型 / 334 11.2 捕捉异常 / 336 11.3 常规catch块 / 339 11.4 异常处理规范 / 341 11.5 自定义异常 / 343 11.6 重新抛出包装的异常 / 346 11.7 小结 / 349 第12章 泛型 / 350 12.1 如果C#没有泛型 / 350 12.2 泛型类型概述 / 355 12.3 约束 / 364 12.4 泛型方法 / 374 12.5 协变性和逆变性 / 377 12.6 泛型的内部机制 / 382< |