书籍简介:
《C#入门经典 系列是屡获殊荣的C#名著和超级畅销书。版的 C#入门经典(第6版) 面向编程新手,全面介绍使用C# 2012和.NET Framework编写程序的基础知识。本书无与伦比的作者团队与您分享多年积累的C#和.NET Framework使用经验,首先简明扼要地介绍这两种技术,解释其含义、相互关系以及使用原因,然后循序渐进地讨论编程基础知识、Web编程、桌面编程以及数据访问技术。本书的讲解详明透彻,以通俗易懂的方式分步骤解析大量基础性示例,为您提供了在实践中锻炼运用新学知识的机会。
主要内容
◆ 介绍编程基础知识,如变量、流程控制和面向对象编程
◆ 着重介绍初学者在编写C#程序时常用的工具:Visual Studio 2012中的Visual C# 2012开发环境
◆ 阐述调试和错误处理
◆ 详细讲解集合、比较和转换,探讨C#语言的新增功能
◆ 深入分析WPF以及其他可用于创建和部署桌面应用程序的重要技术
◆ 探讨Windows Store应用程序
◆ 介绍ASP.NET Web编程和Web应用程序的部署
◆ 分析文件系统数据、XML和LINQ
作者简介:
Karli Watson是一位作者、IT承包商,现居伦敦。
Jacob Vibe Hammer是丹麦Kamstrup A/S公司的一名软件架构师和开发人员。Jacob已与他人合著了多本图书。
Jon D Reid是Indigo Biosystems有限公司的系统工程总监。
Morgan Skinner自2001年就一直效力于Microsoft。
Daniel Kemper是一名软件工程师,专门研究报表和富客户端技术。
Christian Nagel是Microsoft技术代言人(Microsoft RD)、Microsoft MVP;Christian是Thinktecture的联合创始人,也是CN innovation的创始人。
出版日期:
2013年12月
章节目录:
第Ⅰ部分 C# 语 言
第1 章 C#简介
1.1 .NET Framework 的含义
1.1.1 .NET Framework 的内容
1.1.2 使用.NET Framework 编写应用程序
1.2 C#的含义
1.2.1 用C#能编写什么样的应用程序
1.2.2 本书中的C#
1.3 Visual Studio 2012
1.3.1 Visual Studio Express 2012产品
1.3.2 解决方案
1.4 小结
1.5 本章要点
第2 章 编写C#程序
2.1 Visual Studio 2012 开发环境
2.2 控制台应用程序
2.2.1 Solution Explorer 窗口
2.2.2 Properties 窗口
2.2.3 Error List 窗口
2.3 桌面应用程序
2.4 小结
2.5 本章要点
第3 章 变量和表达式
3.1 C#的基本语法
3.2 C#控制台应用程序的基本结构
3.3 变量
3.3.1 简单类型
3.3.2 变量的命名
3.3.3 字面值
3.3.4 变量的声明和赋值
3.4 表达式
3.4.1 数学运算符
3.4.2 赋值运算符
3.4.3 运算符的优先级
3.4.4 名称空间
3.5 小结
3.6 练习
3.7 本章要点
第4 章 流程控制
4.1 布尔逻辑
4.1.1 布尔赋值运算符
4.1.2 按位运算符
4.1.3 运算符优先级的更新
4.2 goto 语句
4.3 分支
4.3.1 三元运算符
4.3.2 if 语句
4.3.3 switch 语句
4.4 循环
4.4.1 do 循环
4.4.2 while 循环
4.4.3 for 循环
4.4.4 循环的中断
4.4.5 无限循环
4.5 小结
4.6 练习
4.7 本章要点
第5 章 变量的更多内容
5.1 类型转换
5.1.1 隐式转换
5.1.2 显式转换
5.1.3 使用Convert 命令进行显式转换
5.2 复杂的变量类型
5.2.1 枚举
5.2.2 结构
5.2.3 数组
5.3 字符串的处理
5.4 小结
5.5 练习
5.6 本章要点
第6 章 函数
6.1 定义和使用函数
6.1.1 返回值
6.1.2 参数
6.2 变量的作用域
6.2.1 其他结构中变量的作用域
6.2.2 参数和返回值与全局数据
6.3 Main()函数
6.4 结构函数
6.5 函数的重载
6.6 委托
6.7 小结
6.8 练习
6.9 本章要点
第7 章 调试和错误处理
7.1 Visual Studio 中的调试
7.1.1 非中断(正常)模式下的调试
7.1.2 中断模式下的调试
7.2 错误处理
7.2.1 try.catch.finally
7.2.2 列出和配置异常
7.2.3 异常处理的注意事项
7.3 小结
7.4 练习
7.5 本章要点
第8 章 面向对象编程简介
8.1 面向对象编程的含义
8.1.1 对象的含义
8.1.2 一切皆对象
8.1.3 对象的生命周期
8.1.4 静态和实例类成员
8.2 OOP 技术
8.2.1 接口
8.2.2 继承
8.2.3 多态性
8.2.4 对象之间的关系
8.2.5 运算符重载
8.2.6 事件
8.2.7 引用类型和值类型
8.3 桌面应用程序中的OOP
8.4 小结
8.5 练习
8.6 本章要点
第9 章 定义类
9.1 C#中的类定义
9.2 System.Object
9.3 构造函数和析构函数
9.4 Visual Studio 中的OOP 工具
9.4.1 Class View 窗口
9.4.2 对象浏览器
9.4.3 添加类
9.4.4 类图
9.5 类库项目
9.6 接口和抽象类
9.7 结构类型
9.8 浅度和深度复制
9.9 小结
9.10 练习
9.11 本章要点
第10 章 定义类成员
10.1 成员定义
10.1.1 定义字段
10.1.2 定义方法
10.1.3 定义属性
10.1.4 在类图中添加成员
10.1.5 重构成员
10.1.6 自动属性
10.2 类成员的其他主题
10.2.1 隐藏基类方法
10.2.2 调用重写或隐藏的基类方法
10.2.3 嵌套的类型定义
10.3 接口的实现
10.4 部分类定义
10.5 部分方法定义
10.6 示例应用程序
10.6.1 规划应用程序
10.6.2 编写类库
10.6.3 类库的客户应用程序
10.7 Call Hierarchy窗口
10.8 小结
10.9 练习
10.10 本章要点
第11 章 集合、比较和转换
11.1 集合
11.1.1 使用集合
11.1.2 定义集合
11.1.3 索引符
11.1.4 给CardLib 添加Cards 集合
11.1.5 键控集合和IDictionary
11.1.6 迭代器
11.1.7 迭代器和集合
11.1.8 深度复制
11.1.9 给CardLib添加深度复制
11.2 比较
11.2.1 类型比较
11.2.2 值比较
11.3 转换
11.3.1 重载转换运算符
11.3.2 as运算符
11.4 小结
11.5 练习
11.6 本章要点
第12 章 泛型
12.1 泛型的概念
12.2 使用泛型
12.2.1 可空类型
12.2.2 System.Collections.Generic名称空间
12.3 定义泛型类型
12.3.1 定义泛型类
12.3.2 定义泛型接口
12.3.3 定义泛型方法
12.3.4 定义泛型委托
12.4 变体
12.4.1 协变
12.4.2 抗变
12.5 小结
12.6 练习
12.7 本章要点
第13 章 其他OOP 技术
13.1 ::运算符和全局名称空间限定符
13.2 定制异常
13.3 事件
13.3.1 事件的含义
13.3.2 处理事件
13.3.3 定义事件
13.4 扩展和使用CardLib
13.5 特性
13.5.1 读取特性
13.5.2 创建特性
13.6 小结
13.7 练习
13.8 本章要点
第14 章 C#语言的改进
14.1 初始化器
14.1.1 对象初始化器
14.1.2 集合初始化器
14.2 类型推理
14.3 匿名类型
14.4 动态查找
14.4.1 动态类型
14.4.2 IDynamicMetaObject-Provider
14.5 高级方法参数
14.5.1 可选参数
14.5.2 命名参数
14.5.3 命名参数和可选参数的规则
14.6 扩展方法
14.7 Lambda 表达式
14.7.1 复习匿名方法
14.7.2 把Lambda 表达式用于匿名方法
14.7.3 Lambda 表达式的参数
14.7.4 Lambda 表达式的语句体
14.7.5 Lambda 表达式用作委托和表达式树
14.7.6 Lambda 表达式和集合
14.8 调用方信息特性
14.9 小结
14.10 练习
14.11 本章要点
第15 章 基本桌面编程
15.1 XAML
15.1.1 关注点分离
15.1.2 XAML 基础知识
15.2 动手实践
15.2.1 WPF 控件
15.2.2 属性
15.2.3 事件
15.3 控件布局
15.3.1 堆叠顺序
15.3.2 对齐、边距、填充和尺寸
15.3.3 Border 控件
15.3.4 Canvas 控件
15.3.5 DockPanel 控件
15.3.6 StackPanel 控件
15.3.7 Grid 控件
15.4 游戏客户端
15.4.1 About 窗口
15.4.2 Options窗口
15.4.3 数据绑定
15.4.4 启动游戏
15.5 小结
15.6 练习
15.7 本章要点
第16 章 高级桌面编程
16.1 主窗口
16.1.1 菜单控件
16.1.2 路由命令和菜单
16.2 创建控件并设置样式
16.2.1 样式
16.2.2 模板
16.2.3 值转换器
16.2.4 触发器
16.2.5 动画
16.3 WPF 用户控件
16.4 把所有内容结合起来
16.4.1 重构域模型
16.4.2 视图模型
16.4.3 大功告成
16.5 小结
16.6 练习
16.7 本章要点
第17 章 Windows Store 应用程序
17.1 入门
17.2 Windows Store 应用程序与桌面应用程序
17.3 开发Windows Store应用程序
17.3.1 视图模式
17.3.2 磁贴和锁屏提醒
17.3.3 应用程序的生存期
17.4 应用程序的开发
17.4.1 WPF 与Windows Store应用程序的XAML 差异
17.4.2 模板和页面
17.4.3 沙箱应用程序
17.4.4 在页面之间导航
17.4.5 管理状态
17.5 修改KarliCards 游戏(第1 部分)
17.5.1 创建CardLib 项目
17.5.2 可视化方面的修改
17.5.3 转换用户控件
17.6 Windows Store 应用程序中的常见元素
17.6.1 AppBar 控件
17.6.2 设置面板
17.6.3 磁贴、锁屏提醒以及初始屏幕
17.7 修改KarliCards 游戏(第2 部分)
17.8 Windows 应用商店
17.9 小结
17.10 练习
17.11 本章要点
第18 章 部署桌面应用程序
18.1 部署概述
18.2 ClickOnce 部署
18.2.1 实现ClickOnce 部署
18.2.2 用ClickOnce 安装应用程序
18.2.3 创建和使用应用程序的更新包
18.3 InstallShield Limited Edition
18.4 小结
18.5 练习
18.6 本章要点
第Ⅲ部分 Web 编 程
第19 章 ASP.NET Web 编程
19.1 Web 应用程序概述
19.2 ASP.NET 运行库
19.3 创建简单的Web页面
19.4 服务器控件.
19.5 ASP.NET 回送
19.6 ASP.NET AJAX 回送
19.7 输入的有效性验证
19.8 状态管理
19.8.1 客户端的状态管理
19.8.2 服务器端的状态管理
19.9 样式
19.10 母版页
19.11 站点导航
19.12 身份验证和授权
19.12.1 身份验证的配置
19.12.2 使用安全控件
19.13 读写SQL Server数据库
19.14 小结
19.15 练习
19.16 本章要点
第20 章 部署Web 应用程序
20.1 Internet Information Services
20.2 IIS 配置
20.3 复制Web 站点
20.4 发布Web 站点
20.5 小结
20.6 练习
20.7 本章要点
第Ⅳ部分 数 据 访 问
第21 章 文件系统数据
21.1 流
21.2 用于输入和输出的类
21.2.1 File 类和Directory 类
21.2.2 FileInfo 类
21.2.3 DirectoryInfo类
21.2.4 路径名和相对路径
21.2.5 FileStream对象
21.2.6 StreamWriter对象
21.2.7 StreamReader对象
21.2.8 异步文件访问
21.2.9 读写压缩文件
21.3 序列化对象
21.4 监控文件系统
21.5 小结
21.6 练习
21.7 本章要点
第22 章 XML
22.1 XML 文档
22.1.1 XML 元素
22.1.2 特性
22.1.3 XML 声明
22.1.4 XML 文档的结构
22.1.5 XML 名称空间
22.1.6 格式良好并有效的XML
22.1.7 验证XML 文档
22.2 在应用程序中使用XML.
22.2.1 XML 文档对象模型
22.2.2 选择节点
22.2.3 XPath
22.3 小结.
22.4 练习.
22.5 本章要点.
第23 章 LINQ 简介
23.1 第一个LINQ 查询
23.1.1 用var 关键字声明
结果变量
23.1.2 指定数据源:from 子句
23.1.3 指定条件:where 子句
23.1.4 选择元素:select 子句
23.1.5 完成:使用foreach 循环
23.1.6 延迟执行的查询
23.2 使用LINQ 方法语法.
23.2.1 LINQ 扩展方法
23.2.2 查询语法和方法语法
23.3 排序查询结果
23.4 orderby 子句
23.5 用方法语法排序
23.6 查询大型数据集
23.7 聚合运算符.
23.8 查询复杂的对象
23.9 投影:在查询中创建新对象
23.10 投影:方法语法
23.11 单值选择查询
23.12 Any()和All()方法
23.13 多级排序.
23.14 多级排序方法语法:ThenBy
23.15 组合查询.
23.16 Take()和Skip()方法
23.17 First()和FirstOrDefault()方法
23.18 LINQ 集运算符
23.19 Join 查询
23.20 小结
23.21 练习
23.22 本章要点
第24 章 应用LINQ
24.1 LINQ 的变体
24.2 给数据库使用LINQ
24.3 安装SQL Server 和Northwind 示例数据
24.3.1 安装SQL Server Express .
24.3.2 安装Northwind 示例数据库
24.4 第一个LINQ 数据库查询
24.5 浏览数据库关系
24.6 使用LINQ to XML
24.7 LINQ to XML 函数构造方式
24.8 保存和加载XML 文档
24.8.1 从字符串中加载XML
24.8.2 已保存的XML文档内容
24.9 处理XML 片段
24.10 从数据库中生成XML
24.11 查询XML 文档的方法
24.12 使用LINQ to XML查询成员
24.12.1 Elements()
24.12.2 Descendants()
24.12.3 Attributes()
24.13 小结
24.14 练习
24.15 本章要点
第Ⅴ部分 其 他 技 术
第25 章 Windows Communication Foundation
25.1 WCF 的含义
25.2 WCF 概念
25.2.1 WCF 通信协议
25.2.2 地址、端点和绑定
25.2.3 协定
25.2.4 消息模式
25.2.5 行为
25.2.6 驻留
25.3 WCF 编程
25.3.1 WCF 测试客户端程序
25.3.2 定义WCF 服务协定
25.3.3 自驻留的WCF 服务
25.4 小结
25.5 练习
25.6 本章要点
第26 章 Windows Workflow Foundation
26.1 Hello World
26.2 工作流和活动
26.2.1 If 活动
26.2.2 While 活动
26.2.3 Sequence 活动
26.3 实参和变量
26.4 定制活动
26.4.1 工作流扩展
26.4.2 活动的有效性验证
26.4.3 活动设计器
26.5 小结
26.6 练习
26.7 本章要点
附录A 习题答案
封面图: