新手学C#3.0(第3版)

第1章 C#基础
1.1 C#家族树
1.1.1 C语言:现代编程的开端
1.1.2 OOP与C++的产生
1.1.3 Internet与Java的出现
1.1.4 C#的产生
1.2 C#的发展
1.3 C#与.NETcFramework的关系
1.3.1 .NETcFramework的定义
1.3.2 公共语言运行库的工作方式
1.3.3 托管与非托管代码
1.3.4 公共语言规范
1.4 面向对象编程
1.4.1 封装
1.4.2 多态性
1.4.3 继承
1.5 创建、编译和运行第一个程序
1.5.1 获得C#c3.0编译器
1.5.2 使用VisualcStudiocIDE
1.5.3 使用C#命令行编译器csc.exe
1.6 逐行分析第一个样本程序
1.7 处理语法错误
1.8 程序变体
1.9 使用变量
1.10 double数据类型
1.11 两种控制语句
1.11.1 if语句
1.11.2 for循环
1.12 使用代码块
1.13 分号和定位
1.14 C#关键字
1.15 标识符
1.16 C#类库
第2章 数据类型与运算符简介
2.1 数据类型重要的原因
2.2 C#的值类型
2.3 浮点类型
2.4 decimal类型
2.5 字符
2.6 bool类型
2.7 一些输出选项
2.8 字面值
2.8.1 十六进制字面值
2.8.2 字符转义序列
2.8.3 字符串字面值
2.9 详细介绍变量
2.9.1 初始化变量
2.9.2 动态初始化
2.9.3 隐式类型变量
2.10 变量的作用域和生命周期
2.11 运算符
2.12 算术运算符
2.13 关系与逻辑运算符
2.14 赋值运算符
2.14.1 复合赋值
2.14.2 赋值中的类型转换
2.15 强制转换不兼容的类型
2.16 运算符优先级
2.17 表达式中的类型转换
第3章 程序控制语句
3.1 从键盘输入字符
3.2 if语句
3.2.1 嵌套if
3.2.2 if-else-if梯次
3.3 switch语句
3.4 for循环
3.4.1 for循环的一些变体
3.4.2 在for循环内声明循环控制变量
3.5 while循环
3.6 do-while循环
3.7 使用break退出循环
3.8 使用continue
3.9 goto
3.10 嵌套循环
第4章 类、对象及方法
4.1 类的基础知识
4.1.1 类的一般形式
4.1.2 定义类
4.2 创建对象的方式
4.3 引用变量与赋值
4.4 方法
4.4.1 向Vehicle类中添加方法
4.4.2 从方法返回
4.4.3 返回值
4.4.4 使用形参
4.4.5 向Vehicle中添加一个参数化方法
4.5 构造函数
4.5.1 参数化构造函数
4.5.2 向Vehicle类中添加一个构造函数
4.6 再次介绍new运算符
4.7 垃圾收集与析构函数
4.8 this关键字
第5章 更多数据类型与运算符
5.1 数组
5.2 多维数组
5.2.1 二维数组
5.2.2 三维或多维数组
5.2.3 初始化多维数组
5.3 交错数组
5.4 数组引用赋值
5.5 使用数组的Length属性
5.6 创建隐式类型数组
5.7 foreach循环
5.8 字符串
5.8.1 构造string
5.8.2 对字符串进行操作
5.8.3 字符串的数组
5.8.4 字符串是不可变的
5.9 按位运算符
5.9.1 按位AND、OR、XOR和NOT运算符
5.9.2 移位运算符
5.9.3 按位复合赋值
5.10 “?”运算符
第6章 详细介绍方法与类
6.1 控制对类成员的访问权限
6.2 向方法传递对象引用
6.3 使用ref和out形参
6.3.1 使用ref
6.3.2 使用out
6.4 使用可变数量的实参
6.5 返回对象
6.6 方法重载
6.7 重载构造函数
6.8 Main()方法
6.8.1 从Main()中返回值
6.8.2 向Main()传递实参
6.9 递归
6.10 理解static
6.11 static构造函数和类
第7章 运算符重载、索引器及属性
7.1 运算符重载
7.1.1 operator方法的一般形式
7.1.2 重载二元运算符
7.1.3 重载一元运算符
7.1.4 增加灵活性
7.1.5 重载关系运算符
7.1.6 关于运算符重载的提示与限制
7.2 索引器
7.2.1 多维索引器
7.2.2 索引器限制
7.3 属性
7.3.1 自动实现属性
7.3.2 属性限制
7.4 使用带存取器的访问修饰符
第8章 继承
8.1 继承基础知识
8.2 成员访问和继承
8.3 使用受保护访问
8.4 构造函数与继承
8.5 继承与名称隐藏
8.6 使用base访问隐藏名称
8.7 创建多层层次结构
8.8 何时调用构造函数
8.9 基类引用和派生对象
8.10 虚方法与重写
8.10.1 重写方法的原因
8.10.2 应用虚方法
8.11 使用抽象类
8.12 使用sealed关键字防止继承
8.13 object类
第9章 接口、结构与枚举
9.1 接口
9.2 使用接口引用
9.3 接口属性
9.4 接口索引器
9.5 接口可以继承
9.6 显式实现
9.7 结构
9.8 枚举
9.8.1 初始化枚举
9.8.2 指定枚举的底层类型
第10章 异常处理
10.1 System.Exception类
10.2 异常处理基础知识
10.2.1 使用try和catch
10.2.2 一个简单的异常示例
10.2.3 第二个异常示例
10.3 未捕获异常的后果
10.4 异常有助于适当地处理错误
10.5 使用多个catch子句
10.6 捕获所有异常
10.7 try块可以嵌套
10.8 抛出异常
10.9 使用finally
10.10 详述异常
10.11 派生异常类
10.12 捕获派生类异常
10.13 使用checked和unchecked
第11章 使用I/O
11.1 构建在流基础上的C# I/O
11.1.1 字节流与字符流
11.1.2 预先定义的流
11.2 各种流类
11.2.1 Stream类
11.2.2 字节流类
11.2.3 字符流包装器类
11.2.4 二进制流
11.3 控制台I/O
11.3.1 读取控制台输入
11.3.2 编写控制台输出
11.4 FileStream和面向字节的文件I/O
11.4.1 打开和关闭文件
11.4.2 从FileStream中读取字节
11.4.3 写人文件
11.5 基于字符的文件I/O
11.5.1 使用StreamWriter
11.5.2 使用StreamReader
11.6 重定向标准流
11.7 读、写二进制数据
11.7.1 BinaryWriter
11.7.2 BinaryReader
11.7.3 说明二进制I/O
11.8 随机访问文件
11.9 将数值字符串转换成它们的内部表示
第12章 委托、事件与名称空间
12.1 委托
12.1.1 使用实例方法作为委托
12.1.2 多播
12.1.3 为什么使用委托
12.2 匿名方法
12.3 事件
12.3.1 多播事件示例
12.3.2 通过事件使用匿名方法
12.4 名称空间
12.4.1 声明名称空间
12.4.2 using
12.4.3 using的第二种形式
12.4.4 名称空间可以累加
12.4.5 名称空间可以嵌套
12.4.6 全局名称空间
第13章 泛型
13.1 泛型的概念
13.2 泛型的基本原理
13.2.1 基于类型实参的不同泛型类型
13.2.2 泛型提高类型安全性
13.3 包含两个类型形参的泛型类
13.4 约束类型
13.4.1 使用基类约束
13.4.2 使用约束在两个类型形参之间建立关系
13.4.3 使用接口约束
13.4.4 使用new( )构造函数约束
13.4.5 引用类型约束和值类型约束
13.4.6 使用多种约束
13.5 创建类型形参的默认值
13.6 泛型结构
13.7 泛型方法
13.7.1 使用显式类型实参调用泛型方法
13.7.2 在泛型方法中使用约束
13.8 泛型委托
13.9 泛型接口
第14章 LINQ 简 介
14.1 LINQ的定义
14.2 LINQ的基本原理
14.2.1 简单查询
14.2.2 查询可以多次执行
14.2.3 查询中的数据类型如何关联
14.2.4 查询的一般形式
14.3 使用where过滤值
14.4 使用orderby给结果排序
14.5 仔细分析select
14.6 使用group分组结果
14.7 使用into创建继续
14.8 使用let在查询中创建变量
14.9 使用join连接两个序列
14.10 匿名类型和对象初始化器
14.11 创建分组连接
14.12 查询方法和拉姆达表达式
14.12.1 基本查询方法
14.12.2 拉姆达表达式
14.12.3 使用查询方法创建查询
14.12.4 更多与查询相关的扩展方法
14.12.5 延迟查询执行和即时查询执行
14.13 进一步研究扩展方法
14.14 进一步研究拉姆达表达式
14.14.1 表达式拉姆达
14.14.2 语句拉姆达
第15章 预处理程序、RTTI、可空类型和其他高级主题
附录A 自测题答案
1.1 C#家族树
1.1.1 C语言:现代编程的开端
1.1.2 OOP与C++的产生
1.1.3 Internet与Java的出现
1.1.4 C#的产生
1.2 C#的发展
1.3 C#与.NETcFramework的关系
1.3.1 .NETcFramework的定义
1.3.2 公共语言运行库的工作方式
1.3.3 托管与非托管代码
1.3.4 公共语言规范
1.4 面向对象编程
1.4.1 封装
1.4.2 多态性
1.4.3 继承
1.5 创建、编译和运行第一个程序
1.5.1 获得C#c3.0编译器
1.5.2 使用VisualcStudiocIDE
1.5.3 使用C#命令行编译器csc.exe
1.6 逐行分析第一个样本程序
1.7 处理语法错误
1.8 程序变体
1.9 使用变量
1.10 double数据类型
1.11 两种控制语句
1.11.1 if语句
1.11.2 for循环
1.12 使用代码块
1.13 分号和定位
1.14 C#关键字
1.15 标识符
1.16 C#类库
第2章 数据类型与运算符简介
2.1 数据类型重要的原因
2.2 C#的值类型
2.3 浮点类型
2.4 decimal类型
2.5 字符
2.6 bool类型
2.7 一些输出选项
2.8 字面值
2.8.1 十六进制字面值
2.8.2 字符转义序列
2.8.3 字符串字面值
2.9 详细介绍变量
2.9.1 初始化变量
2.9.2 动态初始化
2.9.3 隐式类型变量
2.10 变量的作用域和生命周期
2.11 运算符
2.12 算术运算符
2.13 关系与逻辑运算符
2.14 赋值运算符
2.14.1 复合赋值
2.14.2 赋值中的类型转换
2.15 强制转换不兼容的类型
2.16 运算符优先级
2.17 表达式中的类型转换
第3章 程序控制语句
3.1 从键盘输入字符
3.2 if语句
3.2.1 嵌套if
3.2.2 if-else-if梯次
3.3 switch语句
3.4 for循环
3.4.1 for循环的一些变体
3.4.2 在for循环内声明循环控制变量
3.5 while循环
3.6 do-while循环
3.7 使用break退出循环
3.8 使用continue
3.9 goto
3.10 嵌套循环
第4章 类、对象及方法
4.1 类的基础知识
4.1.1 类的一般形式
4.1.2 定义类
4.2 创建对象的方式
4.3 引用变量与赋值
4.4 方法
4.4.1 向Vehicle类中添加方法
4.4.2 从方法返回
4.4.3 返回值
4.4.4 使用形参
4.4.5 向Vehicle中添加一个参数化方法
4.5 构造函数
4.5.1 参数化构造函数
4.5.2 向Vehicle类中添加一个构造函数
4.6 再次介绍new运算符
4.7 垃圾收集与析构函数
4.8 this关键字
第5章 更多数据类型与运算符
5.1 数组
5.2 多维数组
5.2.1 二维数组
5.2.2 三维或多维数组
5.2.3 初始化多维数组
5.3 交错数组
5.4 数组引用赋值
5.5 使用数组的Length属性
5.6 创建隐式类型数组
5.7 foreach循环
5.8 字符串
5.8.1 构造string
5.8.2 对字符串进行操作
5.8.3 字符串的数组
5.8.4 字符串是不可变的
5.9 按位运算符
5.9.1 按位AND、OR、XOR和NOT运算符
5.9.2 移位运算符
5.9.3 按位复合赋值
5.10 “?”运算符
第6章 详细介绍方法与类
6.1 控制对类成员的访问权限
6.2 向方法传递对象引用
6.3 使用ref和out形参
6.3.1 使用ref
6.3.2 使用out
6.4 使用可变数量的实参
6.5 返回对象
6.6 方法重载
6.7 重载构造函数
6.8 Main()方法
6.8.1 从Main()中返回值
6.8.2 向Main()传递实参
6.9 递归
6.10 理解static
6.11 static构造函数和类
第7章 运算符重载、索引器及属性
7.1 运算符重载
7.1.1 operator方法的一般形式
7.1.2 重载二元运算符
7.1.3 重载一元运算符
7.1.4 增加灵活性
7.1.5 重载关系运算符
7.1.6 关于运算符重载的提示与限制
7.2 索引器
7.2.1 多维索引器
7.2.2 索引器限制
7.3 属性
7.3.1 自动实现属性
7.3.2 属性限制
7.4 使用带存取器的访问修饰符
第8章 继承
8.1 继承基础知识
8.2 成员访问和继承
8.3 使用受保护访问
8.4 构造函数与继承
8.5 继承与名称隐藏
8.6 使用base访问隐藏名称
8.7 创建多层层次结构
8.8 何时调用构造函数
8.9 基类引用和派生对象
8.10 虚方法与重写
8.10.1 重写方法的原因
8.10.2 应用虚方法
8.11 使用抽象类
8.12 使用sealed关键字防止继承
8.13 object类
第9章 接口、结构与枚举
9.1 接口
9.2 使用接口引用
9.3 接口属性
9.4 接口索引器
9.5 接口可以继承
9.6 显式实现
9.7 结构
9.8 枚举
9.8.1 初始化枚举
9.8.2 指定枚举的底层类型
第10章 异常处理
10.1 System.Exception类
10.2 异常处理基础知识
10.2.1 使用try和catch
10.2.2 一个简单的异常示例
10.2.3 第二个异常示例
10.3 未捕获异常的后果
10.4 异常有助于适当地处理错误
10.5 使用多个catch子句
10.6 捕获所有异常
10.7 try块可以嵌套
10.8 抛出异常
10.9 使用finally
10.10 详述异常
10.11 派生异常类
10.12 捕获派生类异常
10.13 使用checked和unchecked
第11章 使用I/O
11.1 构建在流基础上的C# I/O
11.1.1 字节流与字符流
11.1.2 预先定义的流
11.2 各种流类
11.2.1 Stream类
11.2.2 字节流类
11.2.3 字符流包装器类
11.2.4 二进制流
11.3 控制台I/O
11.3.1 读取控制台输入
11.3.2 编写控制台输出
11.4 FileStream和面向字节的文件I/O
11.4.1 打开和关闭文件
11.4.2 从FileStream中读取字节
11.4.3 写人文件
11.5 基于字符的文件I/O
11.5.1 使用StreamWriter
11.5.2 使用StreamReader
11.6 重定向标准流
11.7 读、写二进制数据
11.7.1 BinaryWriter
11.7.2 BinaryReader
11.7.3 说明二进制I/O
11.8 随机访问文件
11.9 将数值字符串转换成它们的内部表示
第12章 委托、事件与名称空间
12.1 委托
12.1.1 使用实例方法作为委托
12.1.2 多播
12.1.3 为什么使用委托
12.2 匿名方法
12.3 事件
12.3.1 多播事件示例
12.3.2 通过事件使用匿名方法
12.4 名称空间
12.4.1 声明名称空间
12.4.2 using
12.4.3 using的第二种形式
12.4.4 名称空间可以累加
12.4.5 名称空间可以嵌套
12.4.6 全局名称空间
第13章 泛型
13.1 泛型的概念
13.2 泛型的基本原理
13.2.1 基于类型实参的不同泛型类型
13.2.2 泛型提高类型安全性
13.3 包含两个类型形参的泛型类
13.4 约束类型
13.4.1 使用基类约束
13.4.2 使用约束在两个类型形参之间建立关系
13.4.3 使用接口约束
13.4.4 使用new( )构造函数约束
13.4.5 引用类型约束和值类型约束
13.4.6 使用多种约束
13.5 创建类型形参的默认值
13.6 泛型结构
13.7 泛型方法
13.7.1 使用显式类型实参调用泛型方法
13.7.2 在泛型方法中使用约束
13.8 泛型委托
13.9 泛型接口
第14章 LINQ 简 介
14.1 LINQ的定义
14.2 LINQ的基本原理
14.2.1 简单查询
14.2.2 查询可以多次执行
14.2.3 查询中的数据类型如何关联
14.2.4 查询的一般形式
14.3 使用where过滤值
14.4 使用orderby给结果排序
14.5 仔细分析select
14.6 使用group分组结果
14.7 使用into创建继续
14.8 使用let在查询中创建变量
14.9 使用join连接两个序列
14.10 匿名类型和对象初始化器
14.11 创建分组连接
14.12 查询方法和拉姆达表达式
14.12.1 基本查询方法
14.12.2 拉姆达表达式
14.12.3 使用查询方法创建查询
14.12.4 更多与查询相关的扩展方法
14.12.5 延迟查询执行和即时查询执行
14.13 进一步研究扩展方法
14.14 进一步研究拉姆达表达式
14.14.1 表达式拉姆达
14.14.2 语句拉姆达
第15章 预处理程序、RTTI、可空类型和其他高级主题
附录A 自测题答案
Herbert Schildt,是世界顶级程序设计大师和全球顶尖编程图书作者之一。他擅长Windows编程,是C、C++、Java和C#编程语言的权威。他著作的编程书籍全球销量已经超过350万册,并被翻译成所有主流的其他语言版本。
《新手学C# 3.0(第3版)》由世界顶级程序设计大师和畅销书作者Herbert Schildt带领您掌握C#的用法——微软.NET Framework最重要的编程语言。《新手学C# 3.0(第3版)》首先介绍了如何创建、编译和运行C#程序,然后介绍了数据类型、运算符、控制语句、方法、类和对象,接着介绍了继承、接口、属性、索引器、异常、事件、名称空间、泛型等。此外,《新手学C# 3.0(第3版)》还包括了C# 3.0新增的功能,如LINQ、拉姆达表达式和匿名类型等。在《新手学C# 3.0(第3版)》的帮助下,读者可以快速地掌握C# 3.0的编程方法。
《新手学C# 3.0(第3版)》特色
关键技能与概念——每一章包括的具体技能
专家解答——通过“问”和“答”提供更多的信息和提示
试一试——提供用于应用技能的实践练习
注意——与正在介绍的主题相关的经验信息
自测题——每章末尾通过测试题来检验本章所学知识
带注释的语法——示例代码中的注释说明了当前代码体现的编程技术
《新手学C# 3.0(第3版)》特色
关键技能与概念——每一章包括的具体技能
专家解答——通过“问”和“答”提供更多的信息和提示
试一试——提供用于应用技能的实践练习
注意——与正在介绍的主题相关的经验信息
自测题——每章末尾通过测试题来检验本章所学知识
带注释的语法——示例代码中的注释说明了当前代码体现的编程技术
比价列表
公众号、微信群
缺书网微信公众号
扫码进群实时获取购书优惠






