轻松学C#(图解版)

上传:zzn4498 浏览: 27 推荐: 0 文件:PDF 大小:47.68MB 上传时间:2018-12-27 00:18:04 版权申诉
《轻松学C#(图解版)》完整扫描版================================================================ 基本信息 作者:谷涛、扶晓、毕国锋 丛书名:轻松学开发 出版社:电子工业出版社 ISBN:978-7-121-20223-0 出版日期:2013年6月 开本:16开 页码:408页 版次:1-1 定价:¥55.00 所属分类:计算机 > 软件与程序设计 > C# ================================================================ 内容简介 本书由浅入深,全面、系统地介绍了C#程序设计。除了详细地讲解C#知识点外,本书还提供了大量的实例,供读者实战演练。本书共分三篇。第一篇是C#概述篇,主要介绍的是Visual Studio 2012的开发环境及搭建。第二篇是面向对象基础篇,主要介绍类、对象、字段、方法、流程控制、数组、继承、属性、运算符重载、接口等C#基本内容。第三篇是应用技术篇,主要介绍的是异常处理、文件和流、委托、事件、Lambda表达式、命名空间、预处理器、程序集、运行时类型标识、反射、特性、泛型、LINQ和数据 库开发等。 ================================================================ 图书目录 第一篇 C#概述篇 第1章 C#入门 2 1.1 C#概述 2 1.1.1 C#的发展 2 1.1.2 C#开发的基础 2 1.2 搭建开发环境 3 1.2.1 Visual Studio 2012软硬件配置要求 3 1.2.2 下载Visual Studio 2012 3 1.2.3 安装Visual Studio 2012 4 1.2.4 初始化配置 7 1.3 第一个程序—Hello World 8 1.4 小结 11 1.5 习题 12 第二篇 面向对象基础篇 第2章 类和对象 16 2.1 分析Hello World程序 16 2.2 语法规范 17 2.2.1 标识符 17 2.2.2 关键字 18 2.2.3 注释 19 2.3 定义类 20 2.4 实例化对象 20 2.5 小结 20 2.6 习题 21 第3章 定义类——字段 23 3.1 数据类型 23 3.1.1 简单值类型 23 3.1.2 值的表示——字面量 26 3.1.3 转义序列 27 3.2 定义字段 27 3.2.1 定义字段 28 3.2.2 静态字段和实例字段的访问 28 3.2.3 字段初始化 29 3.2.4 字段的动态赋值——Read()和ReadLine() 31 3.2.5 字段输出 31 3.2.6 格式化输出 32 3.2.7 数据类型转换 39 3.2.8 只读字段 41 3.2.9 访问控制 41 3.3 运算符 43 3.3.1 算术运算符 43 3.3.2 自增、自减运算符 44 3.3.3 复合赋值运算符 45 3.3.4 位运算符 46 3.3.5 sizeof运算符 47 3.3.6 运算符的优先级 47 3.4 小结 49 3.5 习题 49 第4章 定义类——方法 51 4.1 方法的概述 51 4.1.1 定义方法 51 4.1.2 方法的调用 52 4.2 方法体的构成 53 4.2.1 局部变量 53 4.2.2 局部变量与字段同名的解决——this关键字 54 4.2.3 语句 55 4.2.4 全局变量 55 4.3 返回值 56 4.3.1 返回值类型 56 4.3.2 从方法返回 57 4.4 参数 58 4.4.1 参数的分类 58 4.4.2 引用参数(ref参数) 59 4.4.3 输出参数(out参数) 61 4.5 特殊的方法 62 4.5.1 Main()方法 62 4.5.2 构造函数 62 4.5.3 带参数的构造函数 63 4.5.4 析构函数 64 4.6 小结 65 4.7 习题 65 第5章 流程控制 69 5.1 选择执行——条件 70 5.1.1 条件真假——布尔类型的转化 70 5.1.2 关系运算 71 5.1.3 逻辑运算 71 5.2 选择语句 73 5.2.1 问号运算符 73 5.2.2 if语句 74 5.2.3 if…else语句 75 5.2.4 if…else…if语句 76 5.2.5 switch语句 77 5.3 循环语句 80 5.3.1 while语句 80 5.3.2 do-while语句 81 5.3.3 for语句 82 5.3.4 foreach语句 85 5.4 跳转语句 85 5.4.1 break语句 85 5.4.2 continue语句 86 5.4.3 goto语句 86 5.5 小结 87 5.6 习题 87 第6章 数组 91 6.1 初识数组 91 6.2 基本数组 92 6.2.1 声明数组 92 6.2.2 数组的初始化 92 6.2.3 数组引用 93 6.2.4 数组的赋值 94 6.2.5 遍历数组 95 6.3 特殊数组 96 6.3.1 多维数组 96 6.3.2 交错数组 100 6.4 对数组的使用 101 6.4.1 数组作为方法参数 102 6.4.2 类中的数组 105 6.5 对数组的操作 106 6.5.1 清空数组 106 6.5.2 创建数组副本 107 6.5.3 复制一部分元素给另一数组 107 6.5.4 将当前一维数组的所有元素赋值到指定的一维数组中 108 6.5.5 获取某个元素的值 109 6.5.6 获取元素的索引值 109 6.5.7 获取某元素最后匹配项的索引 110 6.5.8 反转一维数组中的元素顺序 110 6.5.9 为数组中的某个元素重新赋值 111 6.5.10 对数组元素进行重新排序 112 6.6 小结 112 6.7 习题 113 第7章 继承 115 7.1 C#的继承机制 115 7.1.1 概述 115 7.1.2 初识继承 116 7.2 访问修饰符 118 7.3 成员继承 121 7.3.1 使用继承字段 121 7.3.2 使用方法 121 7.3.3 派生类直接访问基类成员——base 122 7.3.4 继承中的构造函数 123 7.4 多态 124 7.5 抽象 128 7.5.1 抽象类、抽象方法的声明 129 7.5.2 抽象类的使用 129 7.5.3 抽象方法的使用 130 7.6 密封 132 7.6.1 密封类 132 7.6.2 密封方法 133 7.7 小结 134 7.8 习题 135 第8章 属性 139 8.1 属性初识 139 8.1.1 属性声明 139 8.1.2 属性访问 140 8.1.3 访问器 141 8.1.4 属性分类 145 8.2 属性使用 146 8.2.1 属性继承 146 8.2.2 对访问器使用访问修饰符 148 8.2.3 自动实现属性 149 8.2.4 对属性使用对象初始化器 150 8.3 索引器 151 8.3.1 索引器的声明 151 8.3.2 一维索引器的使用 152 8.3.3 重载索引器 153 8.3.4 比较属性和索引器 153 8.3.5 比较索引器和数组 154 8.4 小结 154 8.5 习题 154 第9章 运算符重载 158 9.1 什么是运算符重载 158 9.2 如何进行运算符重载 158 9.2.1 一元运算符重载 159 9.2.2 二元运算符重载 162 9.3 关系运算符重载 163 9.4 重载true和false 165 9.5 逻辑运算符重载 167 9.5.1 逻辑运算符重载的简单方式 167 9.5.2 使用短路运算符 169 9.6 转换运算符 171 9.7 注意问题 173 9.7.1 重载后运算符的优先级 173 9.7.2 不能重载的运算符 174 9.8 小结 175 9.9 习题 175 第10章 接口 178 10.1 接口的概念 178 10.1.1 接口组成 178 10.1.2 接口声明 178 10.1.3 接口的实现 179 10.2 接口方法的使用 182 10.3 接口属性 183 10.4 接口索引器 185 10.5 接口继承 187 10.5.1 多重继承 187 10.5.2 接口继承引起的名称隐藏 189 10.6 显式实现接口 190 10.7 小结 194 10.8 习题 194 第三篇 应用技术篇 第11章 异常处理 200 11.1 异常处理的基础 200 11.1.1 什么是异常 200 11.1.2 未捕获异常的后果 200 11.1.3 常用异常 201 11.1.4 异常处理 201 11.1.5 使用try和catch关键字 201 11.2 处理异常 204 11.2.1 使用异常处理错误 204 11.2.2 使用多条catch语句 205 11.2.3 嵌套try块 206 11.2.4 抛出异常 207 11.2.5 重新抛出异常 208 11.2.6 finally语句 210 11.3 自定义异常类 212 11.4 checked和unchecked关键字 214 11.4.1 checked 214 11.4.2 unchecked 214 11.5 小结 217 11.6 习题 217 第12章 文件和流 221 12.1 System.IO类 221 12.2 文件类File 222 12.2.1 文件的创建和打开 222 12.2.2 判断文件是否存在 224 12.2.3 复制文件 225 12.2.4 删除文件 226 12.2.5 文件的加密和解密 227 12.2.6 文件读取 228 12.3 文件夹类Directory 229 12.3.1 创建文件夹 229 12.3.2 删除文件夹 230 12.3.3 获取文件夹 231 12.4 文件信息类FileInfo 232 12.5 文件夹信息类DirectoryInfo 233 12.6 流 234 12.7 文件流类FileStream 235 12.7.1 FileStream文件流类的创建 235 12.7.2 获取和设置文件流属性信息 236 12.8 流写入类StreamWriter 237 12.9 流读取类StreamReader 238 12.9.1 创建StreamReader 239 12.9.2 读取字符或字符块到指定的变量 240 12.10 二进制流写入类BinaryWriter 241 12.11 二进制流读取类BinaryReader 242 12.12 小结 244 12.13 习题 244 第13章 委托、事件和Lambda表达式 247 13.1 委托 247 13.1.1 声明委托 247 13.1.2 创建委托 247 13.1.3 多播委托 249 13.1.4 逆变和协变 251 13.2 事件 253 13.2.1 声明事件 253 13.2.2 订阅事件 254 13.2.3 取消订阅事件 255 13.2.4 引发事件 255 13.2.5 使用事件 255 13.3 匿名函数 257 13.3.1 匿名方法 257 13.3.2 给匿名方法传递参数 258 13.3.3 从匿名方法中返回值 259 13.4 Lambda表达式 260 13.4.1 Lambda运算符和Lambda表达式 261 13.4.2 Lambda表达式的形式 263 13.4.3 语句Lambda 263 13.5 小结 265 13.6 习题 265 第14章 命名空间、预处理器和程序集 269 14.1 命名空间 269 14.1.1 命名空间的声明 269 14.1.2 命名空间的作用 272 14.1.3 using指令 273 14.1.4 using指令的另一种形式 275 14.1.5 命名空间的合成 277 14.1.6 嵌套命名空间 278 14.1.7 全局命名空间 280 14.1.8 使用命名空间别名限定符(::) 280 14.2 预处理器 281 14.2.1 #define 281 14.2.2 #if和#endif 282 14.2.3 #else和#elif 284 14.2.4 #undef 287 14.2.5 #error 287 14.2.6 #warning 288 14.2.7 #line 289 14.2.8 #region和#endregion 289 14.2.9 #pragma 290 14.3 程序集 291 14.4 小结 292 14.5 习题 293 第15章 运行时类型标识、反射和特性 297 15.1 运行时类型标识 297 15.1.1 is运算符测试类型 297 15.1.2 as运算符 299 15.1.3 typeof运算符 300 15.2 反射 301 15.2.1 System.Type 301 15.2.2 使用反射获取方法的相关信息 302 15.2.3 使用反射调用方法 306 15.2.4 使用反射获取Type对象的构造函数 308 15.2.5 使用反射从程序集获得类型 308 15.3 特性 311 15.3.1 创建特性 311 15.3.2 连接特性 313 15.3.3 获取对象的特性 313 15.3.4 3个内置特性 316 15.4 小结 319 15.5 习题 319 第16章 泛型 327 16.1 泛型简介 327 16.2 类型约束 328 16.2.1 基类约束 329 16.2.2 接口约束 330 16.2.3 new()构造函数约束 331 16.2.4 引用类型约束和值类型约束 332 16.2.5 使用约束建立两个类型形参之间的关系 334 16.2.6 使用多个约束 335 16.3 泛型结构 336 16.4 泛型方法 337 16.5 泛型委托 338 16.6 泛型接口 339 16.7 泛型类的层次结构 341 16.8 使用泛型的限制 343 16.9 小结 343 16.10 习题 343 第17章 LINQ 349 17.1 LINQ的基础知识 349 17.1.1 简单查询 349 17.1.2 多次执行查询 351 17.2 查询表达式中使用的上下文关键 352 17.2.1 使用where子句筛选值 352 17.2.2 使用orderby子句排序结果 354 17.2.3 select子句 358 17.2.4 使用嵌套的from子句 364 17.2.5 使用group子句分组结果 365 17.2.6 使用into子句创建延续 366 17.2.7 在查询中使用let子句创建变量 367 17.2.8 使用join子句连接两个序列 368 17.3 匿名类型 370 17.4 创建组连接 372 17.5 查询方法 374 17.5.1 使用查询方法创建查询 374 17.5.2 查询语法与查询方法的对比 376 17.6 延期执行查询和立即执行查询 376 17.7 表达式树 376 17.8 扩展方法 378 17.9 小结 379 17.10 习题 379 第18章 数据库开发 385 18.1 常用数据库 385 18.1.1 Oracle数据库 385 18.1.2 Access数据库 385 18.1.3 SQL Server数据库 386 18.2 .NET下的数据库连接方式 386 18.2.1 通过连接字符串连接Access数据库 386 18.2.2 通过连接字符串连接SQL Server数据库 387 18.2.3 通过控件连接数据库 389 18.3 SQL语句 391 18.3.1 select语句 391 18.3.2 where语句 393 18.3.3 order by语句 395 18.3.4 insert into语句 397 18.3.5 delete语句 399 18.3.6 update语句 401 18.4 小结 403 18.5 习题 403 库开发等。 ================================================================ 图书目录 第一篇 C#概述篇 第1章 C#入门 2 1.1 C#概述 2 1.1.1 C#的发展 2 1.1.2 C#开发的基础 2 1.2 搭建开发环境 3 1.2.1 Visual Studio 2012软硬件配置要求 3 1.2.2 下载Visual Studio 2012 3 1.2.3 安装Visual Studio 2012 4 1.2.4 初始化配置 7 1.3 第一个程序—Hello World 8 1.4 小结 11 1.5 习题 12 第二篇 面向对象基础篇 第2章 类和对象 16 2.1 分析Hello World程序 16 2.2 语法规范 17 2.2.1 标识符 17 2.2.2 关键字 18 2.2.3 注释 19 2.3 定义类 20 2.4 实例化对象 20 2.5 小结 20 2.6 习题 21 第3章 定义类——字段 23 3.1 数据类型 23 3.1.1 简单值类型 23 3.1.2 值的表示——字面量 26 3.1.3 转义序列 27 3.2 定义字段 27 3.2.1 定义字段 28 3.2.2 静态字段和实例字段的访问 28 3.2.3 字段初始化 29 3.2.4 字段的动态赋值——Read()和ReadLine() 31 3.2.5 字段输出 31 3.2.6 格式化输出 32 3.2.7 数据类型转换 39 3.2.8 只读字段 41 3.2.9 访问控制 41 3.3 运算符 43 3.3.1 算术运算符 43 3.3.2 自增、自减运算符 44 3.3.3 复合赋值运算符 45 3.3.4 位运算符 46 3.3.5 sizeof运算符 47 3.3.6 运算符的优先级 47 3.4 小结 49 3.5 习题 49 第4章 定义类——方法 51 4.1 方法的概述 51 4.1.1 定义方法 51 4.1.2 方法的调用 52 4.2 方法体的构成 53 4.2.1 局部变量 53 4.2.2 局部变量与字段同名的解决——this关键字 54 4.2.3 语句 55 4.2.4 全局变量 55 4.3 返回值 56 4.3.1 返回值类型 56 4.3.2 从方法返回 57 4.4 参数 58 4.4.1 参数的分类 58 4.4.2 引用参数(ref参数) 59 4.4.3 输出参数(out参数) 61 4.5 特殊的方法 62 4.5.1 Main()方法 62 4.5.2 构造函数 62 4.5.3 带参数的构造函数 63 4.5.4 析构函数 64 4.6 小结 65 4.7 习题 65 第5章 流程控制 69 5.1 选择执行——条件 70 5.1.1 条件真假——布尔类型的转化 70 5.1.2 关系运算 71 5.1.3 逻辑运算 71 5.2 选择语句 73 5.2.1 问号运算符 73 5.2.2 if语句 74 5.2.3 if…else语句 75 5.2.4 if…else…if语句 76 5.2.5 switch语句 77 5.3 循环语句 80 5.3.1 while语句 80 5.3.2 do-while语句 81 5.3.3 for语句 82 5.3.4 foreach语句 85 5.4 跳转语句 85 5.4.1 break语句 85 5.4.2 continue语句 86 5.4.3 goto语句 86 5.5 小结 87 5.6 习题 87 第6章 数组 91 6.1 初识数组 91 6.2 基本数组 92 6.2.1 声明数组 92 6.2.2 数组的初始化 92 6.2.3 数组引用 93 6.2.4 数组的赋值 94 6.2.5 遍历数组 95 6.3 特殊数组 96 6.3.1 多维数组 96 6.3.2 交错数组 100 6.4 对数组的使用 101 6.4.1 数组作为方法参数 102 6.4.2 类中的数组 105 6.5 对数组的操作 106 6.5.1 清空数组 106 6.5.2 创建数组副本 107 6.5.3 复制一部分元素给另一数组 107 6.5.4 将当前一维数组的所有元素赋值到指定的一维数组中 108 6.5.5 获取某个元素的值 109 6.5.6 获取元素的索引值 109 6.5.7 获取某元素最后匹配项的索引 110 6.5.8 反转一维数组中的元素顺序 110 6.5.9 为数组中的某个元素重新赋值 111 6.5.10 对数组元素进行重新排序 112 6.6 小结 112 6.7 习题 113 第7章 继承 115 7.1 C#的继承机制 115 7.1.1 概述 115 7.1.2 初识继承 116 7.2 访问修饰符 118 7.3 成员继承 121 7.3.1 使用继承字段 121 7.3.2 使用方法 121 7.3.3 派生类直接访问基类成员——base 122 7.3.4 继承中的构造函数 123 7.4 多态 124 7.5 抽象 128 7.5.1 抽象类、抽象方法的声明 129 7.5.2 抽象类的使用 129 7.5.3 抽象方法的使用 130 7.6 密封 132 7.6.1 密封类 132 7.6.2 密封方法 133 7.7 小结 134 7.8 习题 135 第8章 属性 139 8.1 属性初识 139 8.1.1 属性声明 139 8.1.2 属性访问 140 8.1.3 访问器 141 8.1.4 属性分类 145 8.2 属性使用 146 8.2.1 属性继承 146 8.2.2 对访问器使用访问修饰符 148 8.2.3 自动实现属性 149 8.2.4 对属性使用对象初始化器 150 8.3 索引器 151 8.3.1 索引器的声明 151 8.3.2 一维索引器的使用 152 8.3.3 重载索引器 153 8.3.4 比较属性和索引器 153 8.3.5 比较索引器和数组 154 8.4 小结 154 8.5 习题 154 第9章 运算符重载 158 9.1 什么是运算符重载 158 9.2 如何进行运算符重载 158 9.2.1 一元运算符重载 159 9.2.2 二元运算符重载 162 9.3 关系运算符重载 163 9.4 重载true和false 165 9.5 逻辑运算符重载 167 9.5.1 逻辑运算符重载的简单方式 167 9.5.2 使用短路运算符 169 9.6 转换运算符 171 9.7 注意问题 173 9.7.1 重载后运算符的优先级 173 9.7.2 不能重载的运算符 174 9.8 小结 175 9.9 习题 175 第10章 接口 178 10.1 接口的概念 178 10.1.1 接口组成 178 10.1.2 接口声明 178 10.1.3 接口的实现 179 10.2 接口方法的使用 182 10.3 接口属性 183 10.4 接口索引器 185 10.5 接口继承 187 10.5.1 多重继承 187 10.5.2 接口继承引起的名称隐藏 189 10.6 显式实现接口 190 10.7 小结 194 10.8 习题 194 第三篇 应用技术篇 第11章 异常处理 200 11.1 异常处理的基础 200 11.1.1 什么是异常 200 11.1.2 未捕获异常的后果 200 11.1.3 常用异常 201 11.1.4 异常处理 201 11.1.5 使用try和catch关键字 201 11.2 处理异常 204 11.2.1 使用异常处理错误 204 11.2.2 使用多条catch语句 205 11.2.3 嵌套try块 206 11.2.4 抛出异常 207 11.2.5 重新抛出异常 208 11.2.6 finally语句 210 11.3 自定义异常类 212 11.4 checked和unchecked关键字 214 11.4.1 checked 214 11.4.2 unchecked 214 11.5 小结 217 11.6 习题 217 第12章 文件和流 221 12.1 System.IO类 221 12.2 文件类File 222 12.2.1 文件的创建和打开 222 12.2.2 判断文件是否存在 224 12.2.3 复制文件 225 12.2.4 删除文件 226 12.2.5 文件的加密和解密 227 12.2.6 文件读取 228 12.3 文件夹类Directory 229 12.3.1 创建文件夹 229 12.3.2 删除文件夹 230 12.3.3 获取文件夹 231 12.4 文件信息类FileInfo 232 12.5 文件夹信息类DirectoryInfo 233 12.6 流 234 12.7 文件流类FileStream 235 12.7.1 FileStream文件流类的创建 235 12.7.2 获取和设置文件流属性信息 236 12.8 流写入类StreamWriter 237 12.9 流读取类StreamReader 238 12.9.1 创建StreamReader 239 12.9.2 读取字符或字符块到指定的变量 240 12.10 二进制流写入类BinaryWriter 241 12.11 二进制流读取类BinaryReader 242 12.12 小结 244 12.13 习题 244 第13章 委托、事件和Lambda表达式 247 13.1 委托 247 13.1.1 声明委托 247 13.1.2 创建委托 247 13.1.3 多播委托 249 13.1.4 逆变和协变 251 13.2 事件 253 13.2.1 声明事件 253 13.2.2 订阅事件 254 13.2.3 取消订阅事件 255 13.2.4 引发事件 255 13.2.5 使用事件 255 13.3 匿名函数 257 13.3.1 匿名方法 257 13.3.2 给匿名方法传递参数 258 13.3.3 从匿名方法中返回值 259 13.4 Lambda表达式 260 13.4.1 Lambda运算符和Lambda表达式 261 13.4.2 Lambda表达式的形式 263 13.4.3 语句Lambda 263 13.5 小结 265 13.6 习题 265 第14章 命名空间、预处理器和程序集 269 14.1 命名空间 269 14.1.1 命名空间的声明 269 14.1.2 命名空间的作用 272 14.1.3 using指令 273 14.1.4 using指令的另一种形式 275 14.1.5 命名空间的合成 277 14.1.6 嵌套命名空间 278 14.1.7 全局命名空间 280 14.1.8 使用命名空间别名限定符(::) 280 14.2 预处理器 281 14.2.1 #define 281 14.2.2 #if和#endif 282 14.2.3 #else和#elif 284 14.2.4 #undef 287 14.2.5 #error 287 14.2.6 #warning 288 14.2.7 #line 289 14.2.8 #region和#endregion 289 14.2.9 #pragma 290 14.3 程序集 291 14.4 小结 292 14.5 习题 293 第15章 运行时类型标识、反射和特性 297 15.1 运行时类型标识 297 15.1.1 is运算符测试类型 297 15.1.2 as运算符 299 15.1.3 typeof运算符 300 15.2 反射 301 15.2.1 System.Type 301 15.2.2 使用反射获取方法的相关信息 302 15.2.3 使用反射调用方法 306 15.2.4 使用反射获取Type对象的构造函数 308 15.2.5 使用反射从程序集获得类型 308 15.3 特性 311 15.3.1 创建特性 311 15.3.2 连接特性 313 15.3.3 获取对象的特性 313 15.3.4 3个内置特性 316 15.4 小结 319 15.5 习题 319 第16章 泛型 327 16.1 泛型简介 327 16.2 类型约束 328 16.2.1 基类约束 329 16.2.2 接口约束 330 16.2.3 new()构造函数约束 331 16.2.4 引用类型约束和值类型约束 332 16.2.5 使用约束建立两个类型形参之间的关系 334 16.2.6 使用多个约束 335 16.3 泛型结构 336 16.4 泛型方法 337 16.5 泛型委托 338 16.6 泛型接口 339 16.7 泛型类的层次结构 341 16.8 使用泛型的限制 343 16.9 小结 343 16.10 习题 343 第17章 LINQ 349 17.1 LINQ的基础知识 349 17.1.1 简单查询 349 17.1.2 多次执行查询 351 17.2 查询表达式中使用的上下文关键 352 17.2.1 使用where子句筛选值 352 17.2.2 使用orderby子句排序结果 354 17.2.3 select子句 358 17.2.4 使用嵌套的from子句 364 17.2.5 使用group子句分组结果 365 17.2.6 使用into子句创建延续 366 17.2.7 在查询中使用let子句创建变量 367 17.2.8 使用join子句连接两个序列 368 17.3 匿名类型 370 17.4 创建组连接 372 17.5 查询方法 374 17.5.1 使用查询方法创建查询 374 17.5.2 查询语法与查询方法的对比 376 17.6 延期执行查询和立即执行查询 376 17.7 表达式树 376 17.8 扩展方法 378 17.9 小结 379 17.10 习题 379 第18章 数据库开发 385 18.1 常用数据库 385 18.1.1 Oracle数据库 385 18.1.2 Access数据库 385 18.1.3 SQL Server数据库 386 18.2 .NET下的数据库连接方式 386 18.2.1 通过连接字符串连接Access数据库 386 18.2.2 通过连接字符串连接SQL Server数据库 387 18.2.3 通过控件连接数据库 389 18.3 SQL语句 391 18.3.1 select语句 391 18.3.2 where语句 393 18.3.3 order by语句 395 18.3.4 insert into语句 397 18.3.5 delete语句 399 18.3.6 update语句 401 18.4 小结 403 18.5 习题 403
上传资源
用户评论

__ASDFGH 2018-12-27 00:18:04

谢谢分享,以前下载的具体结果不清楚了。

endure59292 2018-12-27 00:18:04

谢谢你提供的PDF文件,整个书是全的。而且还算是清晰,不影响阅读。总之免费的已经很不错了。

qtadiz 2018-12-27 00:18:04

讲得有点浅

chinabbk 2018-12-27 00:18:04

四楼说的对,真应该先看评论。已经下载了,后悔浪费5积分。

Aladdin89897 2018-12-27 00:18:04

很好的资料,谢谢

lmrsoaa 2018-12-27 00:18:04

这资源不是扫描清晰版的,还要5个积分,别处可以随便下载,真是被忽悠了。

cp83201 2018-12-27 00:18:04

下载了,这书真心不喜欢。

gghaomm 2018-12-27 00:18:04

和另一个资源“轻松学C#.pdf” 下的差不多,这个比较小,扫描版的,那个很清晰,很整齐,比较大,分还要的这么多,亏了

liush48755 2018-12-27 00:18:04

内容讲的不错,是2012的内容,作为入门教程很好

coach_77436 2018-12-27 00:18:04

具体还没仔细看,希望对我学习C#有帮助

相关推荐
轻松C#图解pdf
轻松学C#;394幅教学插图,轻松学技术;296个典型示例,熟练掌握应用;69个课后题目,全面测试能力
RAR
0B
2018-12-18 01:00
轻松C语言图解
《轻松学C语言(图解版)》由浅入深,全面、系统地介绍了C语言的开发技术。《轻松学C语言(图解版)》改变了过去编程书籍枯燥乏味的文字讲解方式,采用大量的插图,生动形象地再现了C语言开发需要的所有知识,使
RAR
0B
2019-09-08 23:06
轻松C语言图解PDF
邢太北编写的这本《轻松学C语言(图解版)》由浅入深,全面、系统地介绍了C语言的开发技术。《轻松学C语言(图解版)》改变了过去编程书籍枯燥乏味的文字讲解方式,采用大量的插图,生动形象地再现了C语言开发需
zip
0B
2019-02-22 22:15
轻松C# 图解_带书签_高清完整版
谷涛,扶晓,毕国锋著;ISBN:978712120223已纠正倾斜和提升画质。
PDF
0B
2019-05-04 18:13
轻松C语言图解详细书签
《轻松学C语言(图解版)》由浅入深,全面、系统地介绍了C语言的开发技术。《轻松学C语言(图解版)》改变了过去编程书籍枯燥乏味的文字讲解方式,采用大量的插图,生动形象地再现了C语言开发需要的所有知识,使
ZIP
0B
2019-04-06 00:58
轻松C语言图解源文件
轻松学C语言(图解版)源文件
RAR
0B
2019-06-01 13:37
轻松vc++图解教程
此文档是vc++图解教程,易学易懂。内容很全面,清下载者放心,不过没有视频......
PDF
7.67MB
2020-09-19 16:11
轻松C#
本书由浅入深,全面、系统地介绍了C#程序设计。除了详细地讲解C#知识点外,本书还提供了大量的实例,供读者实战演练。 本书共分三篇。第一篇是C#概述篇,主要介绍的是Visual Studio2012的开
PDF
9.81MB
2020-08-21 22:28
轻松C#图解谷涛扶晓毕国峰PDF扫描
轻松学C#图解版 内容介绍: 本书由浅入深,全面、系统地介绍了C#程序设计。除了详细地讲解C#知识点外,本书还提供了大量的实例,供读者实战演练。 本书共分三篇。第一篇是C#概述篇,主要介绍的是Visu
PDF
0B
2018-12-07 20:36
轻松C#编程
用C#编写程序,针对一个基础的程序,是编写一个HELLOWORLD的程序,让人容易理解
CS
0B
2019-07-15 03:46
轻松Java图解_带书签_高清完整版
褚尚军,王亮 著;ISBN:9787121195617大图版,已补全缺失页。
PDF
0B
2019-05-14 02:05
轻松C语言图解带详细目录PDF
全书共分3篇。第1篇“基础篇”介绍C语言的发展、C语言的开发工具的安装过程、第一个C语言程序和图形界面程序的运行过程等知识;第2篇“语法篇”介绍C语言中的数据、语句、程序控制结构、数组、函数、指针、结
ZIP
0B
2019-02-18 02:36
轻松C#源文件
轻松学C#源文件中包括书中的所有代码,方便对程序的运行!
RAR
0B
2020-05-13 00:33
轻松山西轻松山西v1.0
轻松学山西版为山西干部在线学院挂机软件。轻松学山西版V1.0功能:1、保存账号:自动保存账号,下次登录无需再次输入。2、自动登录:自动识别网站验证码,无需输入,直接登录。
ZIP
1.94MB
2020-11-06 07:27
轻松吕梁轻松吕梁v2.0
轻松学吕梁版主要用于吕梁学院干部在线学习网的自动学习。软件能够实现自动登录,自动学习,自动换课,实现全自动学习。
ZIP
1.93MB
2020-10-31 13:59