C# 6.0本质论 中文pdf 版 (带书签)作者 [美] Mark Michaelis Eric Lippert
本书作者: [美] Mark Michaelis Eric Lippert 出版社: 人民邮电出版社 原作名: Essential C# 6.0 (5th Edition) 译者: 周靖 / 庞燕 内容简介 · · · · · · 这是C#领域中一部广受好评的名作,作者用一种易于理解的方式详细介绍了C#语言的各个方面。全书共有21章和4个附录(其中哟2个附录从网上下载),介绍了C#语言的数据类型、操作符、方法、类、接口、异常处理等基本概念,深入讨论了泛型、迭代器、反射、线程和互操作性等高级主题,还介绍了LINQ技术,以及与其相关的扩展方法、分部方法、Lambda表达式、标准查询操作符和查询表达式等内容。每章开头的“思维导图”指明本章要讨论的主题,以及各个主题之间的层次关系。为了帮助读者理解各种C#构造,书中用丰富的示例展示每一种特性,而且为每个概念都提供了相应的规范和最佳实践,以确保代码能顺利编译、避免留下隐患,并获得最佳的可维护性。 本书是一本编程语言参考书,遵循核心C# 6.0语言规范,适合对C#感兴趣的各个层次的读者。无论对初学者还是具有一定编程经验的开发者,本书都是一本很有价值的参考书。 部分章节目录: 第1章C#概述1 1.1Hello,World1 1.2C#语法基础3 1.2.1C#关键字3 1.2.2标识符4 1.2.3类型定义5 1.2.4Main6 1.2.5语句和语句分隔符7 1.2.6空白8 1.2.7使用变量8 1.2.8数据类型9 1.2.9变量的声明9 1.2.10变量的赋值10 1.2.11变量的使用11 1.3控制台输入和输出11 1.3.1从控制台获取输入11 1.3.2将输出写入控制台12 1.3.3注释14 1.3.4应用程序接口16 1.3.5托管执行和公共语言基础结构16 1.3.6C#和.NET版本18 1.3.7CIL和ILDASM18 1.4小结21 第2章数据类型22 2.1基本数值类型22 2.1.1整数类型23 2.1.2浮点类型24 2.1.3十进制浮点类型24 2.1.4字面量25 2.2更多基本类型28 2.2.1布尔类型28 2.2.2字符类型28 2.2.3字符串30 2.3null和void36 2.3.1null37 2.3.2void37 2.4类型的分类39 2.4.1值类型39 2.4.2引用类型40 2.5可空修饰符41 2.6数据类型之间的转换41 2.6.1显式转型41 2.6.2隐式转型43 2.6.3不使用转型操作符的类型转换44 2.7数组45 2.7.1数组的声明46 2.7.2数组的实例化和赋值47 2.7.3数组的使用50 2.7.4字符串作为数组使用54 2.7.5常见数组错误55 2.8小结56 第3章操作符和控制流57 3.1操作符57 3.1.1一元操作符正和负58 3.1.2二元算术操作符58 3.1.3复合赋值操作符64 3.1.4递增和递减操作符65 3.1.5常量表达式和常量符号68 3.2控制流程概述68 3.2.1if语句70 3.2.2嵌套if71 3.3代码块72 3.4代码块、作用域和声明空间74 3.5布尔表达式75 3.5.1关系操作符和相等性操作符76 3.5.2逻辑布尔操作符77 3.5.3逻辑求反操作符78 3.5.4条件操作符78 3.5.5空接合操作符79 3.5.6null条件操作符80 3.6按位操作符82 3.6.1移位操作符83 3.6.2按位操作符83 3.6.3按位赋值操作符85 3.6.4按位取反操作符86 3.7控制流语句(续)86 3.7.1while和do/while循环86 3.7.2for循环88 3.7.3foreach循环90 3.7.4switch语句92 3.8跳转语句94 3.8.1break语句94 3.8.2continue语句96 3.8.3goto语句97 3.9C#预处理指令98 3.9.1排除和包含代码99 3.9.2定义预处理符号100 3.9.3生成错误和警告100 3.9.4关闭警告消息101 3.9.5nowarn:<warnlist>选项101 3.9.6指定行号101 3.9.7可视编辑器提示102 3.10小结103 第4章方法和参数105 4.1方法的调用106 4.1.1命名空间107 4.1.2类型名称108 4.1.3作用域109 4.1.4方法名称109 4.1.5形参和实参109 4.1.6方法返回值109 4.1.7语句与方法调用的比较110 4.2方法的声明110 4.2.1形式参数声明112 4.2.2方法返回类型声明112 4.2.3表达式主体方法113 4.3using指令114 4.3.1usingstatic指令115 4.3.2使用别名116 4.4Main()的返回值和参数117 4.5方法的参数119 4.5.1值参数119 4.5.2引用参数(ref)120 4.5.3输出参数(out)121 4.5.4参数数组123 4.6递归125 4.7方法重载127 4.8可选参数129 4.9用异常实现基本错误处理132 4.9.1捕获错误133 4.9.2使用throw语句报告错误139 4.10小结142 第5章类143 5.1类的定义和实例化145 5.2实例字段148 5.2.1实例字段的声明148 5.2.2实例字段的访问148 5.3实例方法149 5.4使用this关键字150 5.5访问修饰符155 5.6属性157 5.6.1属性的声明158 5.6.2自动实现的属性159 5.6.3属性和字段的设计编码规范161 5.6.4提供属性验证162 5.6.5只读属性和只写属性163 5.6.6属性作为虚字段使用165 5.6.7为取值方法和赋值方法指定访问修饰符166 5.6.8属性和方法调用不允许作为ref或out参数值使用168 5.7构造器169 5.7.1构造器的声明169 5.7.2默认构造器170 5.7.3对象初始化器171 5.7.4构造器的重载172 5.7.5构造器链:使用this调用另一个构造器173 5.8静态成员177 5.8.1静态字段177 5.8.2静态方法179 5.8.3静态构造器180 5.8.4静态属性181 5.8.5静态类182 5.9扩展方法184 5.10封装数据185 5.10.1const185 5.10.2readonly186 5.11嵌套类187 5.12分部类189 5.12.1定义分部类189 5.12.2分部方法190 5.13小结192