图书介绍

C#经典实例 第2版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

C#经典实例 第2版
  • (美)希亚德,泰勒特著 著
  • 出版社: 北京:中国电力出版社
  • ISBN:9787508351520
  • 出版时间:2007
  • 标注页数:1128页
  • 文件大小:52MB
  • 文件页数:1148页
  • 主题词:C语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C#经典实例 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

前言1

第1章 数字与枚举11

1.0 引言11

1.1 确定分数与浮点数值之间的近似相等性13

1.2 度转换为弧度15

1.3 弧度转换为度15

1.4 对各种数据类型使用反码操作符16

1.5 测试奇偶值17

1.6 得到一个数的高字或低字19

1.7 将其他进制的数转换为十进制数20

1.8 确定一个串是否是一个合法数字21

1.9 浮点数值取整22

1.10 选择取整算法23

1.11 摄氏温度转换为华氏温度24

1.12 华氏温度转换为摄氏温度24

1.13 安全地执行窄化数值强制转换25

1.14 得出直角三角形任意三边的边长27

1.15 得出直角三角形的角度29

1.16 将枚举值显示为一个串30

1.17 将纯文本转换为一个等价的枚举值32

1.18 测试一个合法的枚举值34

1.19 测试是否为合法的标志枚举36

1.20 在位掩码中使用枚举成员38

1.21 确定是否设置了一个或多个枚举标志40

1.23 确定一个Decimal或Double的整数部分44

第2章 串和字符45

2.0 引言45

2.1 确定一个char包含何种字符45

2.2 确定一个字符是否在指定范围内49

2.3 比较两个字符时控制大小写敏感性50

2.4 找出字符在串中的所有出现52

2.5 找出一个串在另一个串中的所有出现的位置54

2.6 实现一个简单的词法分析器解构一个串59

2.7 比较两个串时控制大小写敏感性61

2.8 将一个串与第二个串的开头或结尾进行比较62

2.9 在串中插入文本63

2.10 删除或替换串中的字符64

2.11 将二进制数据编码为Base6467

2.12 对Base64编码的二进制数据解码68

2.13 将作为Byte[]返回的一个串转换回String69

2.14 将一个String传递给只接受byte[]的方法70

2.15 将串转换为其他类型72

2.16 格式化串中的数据76

2.17 创建一个定界串79

2.18 从定界串抽取项80

2.19 设置StringBuilder所能包含的最大字符数81

2.20 迭代处理串中的各个字符83

2.21 改善串比较性能84

2.22 改善StringBuilder的性能87

2.23 去掉串开头和/或结尾的字符90

2.24 测试一个串是否为Null或空串91

2.25 追加一行92

2.26 大块数据的编码93

第3章 类和结构99

3.0 引言99

3.1 创建联合类型的结构101

3.2 允许一个类型将自身表示为String103

3.3 将一个对象的串表示转换为实际对象109

3.4 利用抽象基类实现多态113

3.5 使类型可排序119

3.6 使类型可搜索124

3.7 间接重载+=、-=、/=和*=操作符129

3.8 间接重载&&、||和?:操作符132

3.9 打开或关闭位135

3.10 建立无错表达式138

3.11 最小化(减少)布尔逻辑141

3.12 以独立于语言的方式实现简单类型间的转换145

3.13 确定何时使用强制转换操作符、as操作符或is操作符152

3.14 用as操作符强制转换153

3.15 用is操作符确定一个变量的类型156

3.16 用接口实现多态159

3.17 在多个对象类型上调用相同的方法162

3.18 使用接口增加通知回调165

3.19 使用多个入口点实现应用版本化173

3.20 避免创建仅部分初始化的对象175

3.21 从一个方法返回多项177

3.22 解析命令行参数179

3.23 改进类以与COM互操作188

3.24 在运行时初始化一个常量字段193

3.25 编写与所有托管语言兼容的代码196

3.26 构建可复制类197

3.27 确保对象撤销201

3.28 通过托管代码释放COM对象203

3.29 创建对象缓存204

3.30 回滚对象修改213

3.31 非托管资源的撤销221

3.32 确定装箱和拆箱发生在何处228

第4章 泛型231

4.0 引言231

4.1 决定何时及何处使用泛型231

4.2 了解泛型类型232

4.3 得到泛型类型的类型240

4.4 将ArrayList替换为其相应的泛型类型241

4.5 将Stack和Queue替换为相应的泛型类型245

4.6 实现一个链表250

4.7 创建可以初始化为Null的值类型253

4.8 逆转有序表的内容255

4.9 建立泛型只读集合283

4.10 将Hashtable替换为其相应的泛型类型284

4.11 对泛型Dictionary类型使用foreach288

4.12 约束类型参数289

4.13 将泛型变量初始化为其默认值292

第5章 集合294

5.0 引言294

5.1 交换数组中的两个元素296

5.2 快速逆置数组297

5.3 逆置二维数组300

5.4 逆置多重数组302

5.5 编写一个更灵活的StackTrace类304

5.6 确定一项出现在List〈T〉中的次数309

5.7 获取一个特定项在List〈T〉中的所有实例312

5.8 从数组插入和删除项316

5.9 保持List〈T〉有序318

5.10 对字典的键和/或值排序321

5.11 创建一个有最大值和最小值边界的字典324

5.12 将数组数据显示为定界串327

5.13 在数组中存储列表的快照328

5.14 在应用会话之间持久存储集合329

5.15 测试Array或List〈T〉中的每一个元素331

5.16 在Array或List〈T〉中的每个元素上执行一个动作333

5.17 创建一个只读Array或List〈T〉335

第6章 迭代器和部分类型338

6.0 引言338

6.1 在类中实现嵌套foreach功能339

6.2 创建定制枚举器344

6.3 在泛型类型上创建一个迭代器348

6.4 在非泛型类型上创建一个迭代器350

6.5 创建接受参数的迭代器352

6.6 在一个类型上增加多个迭代器354

6.7 将迭代器实现为重载操作符358

6.8 迫使迭代器停止迭代365

6.9 处理Finally块和迭代器366

6.10 组织接口实现370

6.11 生成不再在主代码路径中的代码375

第7章 异常处理378

7.0 引言378

7.1 验证关键参数385

7.2 了解何时捕获和重新抛出异常387

7.3 明确异常及其用法388

7.4 单独地处理派生异常392

7.5 使用Finally块时确保异常不丢失395

7.6 处理通过反射调用的方法所抛出的异常398

7.7 调试加载程序集时的问题401

7.8 托管异常和HRESULT之间的映射402

7.9 处理用户自定义的HRESULT407

7.10 避免未处理的异常408

7.11 获得异常信息410

7.12 快速找出问题根源414

7.13 创建一个新的异常类型415

7.14 得到栈轨迹428

7.15 异常初次出现时中断430

7.16 避免恶毒的TypeInitializationException433

7.17 处理从异步委托抛出的异常437

7.18 通过Exception.Data为异常提供所需的额外信息438

7.19 使用可视化工具以一种新方式查看异常440

7.20 在WinForms应用中处理未处理的异常448

第8章 诊断451

8.0 引言451

8.1 在生产代码中控制跟踪输出451

8.2 对调试/跟踪输出提供细粒度控制455

8.3 创建你自己的定制开关类458

8.4 有条件地编译代码块463

8.5 确定一个进程是否停止响应465

8.6 在应用中使用事件日志467

8.7 改变一个定制事件日志的最大大小474

8.8 搜索事件日志条目476

8.9 监视事件日志中的特定条目479

8.10 查找一个特定事件日志的所有源481

8.11 实现一个简单的性能计数器483

8.12 实现需要基计数器的性能计数器487

8.13 启用和禁用复杂的跟踪代码490

8.14 捕获进程的标准输出493

8.15 为类创建定制调试显示496

8.16 确定当前AppDomain设置信息498

8.17 通过编程提高进程的优先级500

8.18 查看运行时环境,确定能做何处理502

第9章 委托、事件和匿名方法504

9.0 引言504

9.1 控制组播委托中是否触发和何时触发一个委托505

9.2 从组播委托中的各个委托得到返回值508

9.3 单独地处理组播委托中各委托的异常510

9.4 将同步委托调用转换为异步委托调用514

9.5 包装密封类来增加事件517

9.6 向事件来回传递特殊化参数524

9.7 一种高级接口搜索机制529

9.8 一个高级成员搜索机制533

9.9 观察对一个Hashtable的增加和修改538

9.10 使用Windows键盘钩546

9.11 跟踪和响应鼠标553

9.12 使用匿名方法554

9.13 简洁地建立事件处理器558

9.14 在匿名方法中使用不同参数修饰符562

9.15 使用C#中的闭包566

9.16 使用算子在一个列表上执行多个操作570

第10章 正则表达式574

10.0 引言574

10.1 枚举列出匹配575

10.2 从MatchCollection抽取组578

10.3 验证正则表达式的语法581

10.4 快速地找出串中最后一个匹配583

10.5 替换串中的字符或单词584

10.6 增强基本的串替换功能587

10.7 实现一个更好的词法分析器590

10.8 编译正则表达式592

10.9 统计文本行594

10.10 返回找到匹配的整行597

10.11 找到一个匹配的特定出现601

10.12 使用公共模式603

10.13 为正则表达式增加文档注释606

10.14 使用内置正则表达式解析ASP.NET页面607

第11章 数据结构和算法614

11.0 引言614

11.1 为一个数据类型创建散列码614

11.2 创建优先队列622

11.3 创建双向队列631

11.4 确定字符或串在哪里不平衡638

11.5 创建一对多映射(MultiMap)643

11.6 创建二叉树652

11.7 创建n叉树666

11.8 创建一个Set对象679

第12章 文件系统I/O693

12.0 引言693

12.1 创建、复制、移动或删除文件694

12.2 管理文件属性697

12.3 重命名文件700

12.4 确定一个文件是否存在701

12.5 选择一个打开文件或流的方法来完成读和/或写701

12.6 随机地访问部分文件709

12.7 输出一个平台独立的EOL字符713

12.8 创建和读写文件715

12.9 确定一个目录是否存在723

12.10 创建、移动或删除一个目录723

12.11 管理目录属性725

12.12 重命名目录728

12.13 使用通配符搜索目录或文件730

12.14 得到目录树734

12.15 解析路径736

12.16 解析环境变量中的路径738

12.17 验证路径739

12.18 在应用中使用临时文件744

12.19 只用文件句柄打开文件流745

12.20 一次写多个输出文件747

12.21 启动控制台工具并与之交互750

12.22 锁定文件中的部分752

12.23 监视文件系统中对一个或多个或目录的特定修改755

12.24 等待文件系统中发生某个动作761

12.25 比较两个可执行模块的版本信息763

12.26 查询一个系统上所有驱动器的信息767

12.27 加密/解密一个现有的文件769

12.28 压缩和解压文件770

第13章 反射774

13.0 引言774

13.1 列出所引用的程序集774

13.2 列出导出的类型777

13.3 查找被覆盖的方法778

13.4 查找一个程序集中的成员783

13.5 查找一个接口中的成员785

13.6 确定和得到一个程序集中的嵌套类型786

13.7 显示一个类型的继承层次体系788

13.8 查找一个类型的子类790

13.9 查找一个程序集中的所有可串行化类型792

13.10 得到成员时过滤输出794

13.11 动态地调用成员798

13.12 为模糊器提供指导802

13.13 确定一个类型或方法是否为泛型804

13.14 通过编程读取清单资源806

13.15 访问局部变量信息807

13.16 创建泛型类型809

第14章 Web812

14.0 引言812

14.1 将IP地址转换为主机名812

14.2 将主机名转换为IP地址813

14.3 解析URI814

14.4 构成和验证绝对URI818

14.5 处理Web服务器错误820

14.6 与Web服务器通信823

14.7 通过代理825

14.8 从URL得到HTML826

14.9 使用新的Web浏览器控件827

14.10 缓存数据库表830

14.11 缓存有多个依赖关系的数据832

14.12 通过编程预构建一个ASP.NET Web网站834

14.13 Web转义数据和取消转义837

14.14 使用UriBuilder类839

14.15 检查和修改Web应用配置841

14.16 处理HTML844

14.17 处理HTTP时使用缓存结果来得到更高的性能846

14.18 检查一个Web服务器的定制错误页面848

14.19 确定IIS上ASP.NET的应用映射851

第15章 XML854

15.0 引言854

15.1 按文档顺序读取和访问XML数据854

15.2 读取Web上的XML858

15.3 查询一个XML文档的内容860

15.4 验证XML862

15.5 通过编程创建XML文档867

15.6 检测对XML文档的修改870

15.7 处理XML串中的非法字符873

15.8 转换XML875

15.9 分解XML文档880

15.10 整理XML文档884

15.11 验证有修改的XML文档而无需重加载889

15.12 扩展XSLT转换892

15.13 从现有的XML文件批量地得到模式895

15.14 向XSLT转换传递参数897

第16章 网络901

16.0 引言901

16.1 编写TCP服务器901

16.2 编写TCP客户907

16.3 模拟表单执行910

16.4 从服务器下载数据914

16.5 使用命名管道来通信916

16.6 通过编程完成ping操作937

16.7 使用SMTP服务发送SMTP邮件939

16.8 检查网络互连性944

16.9 使用Socket扫描机器上的端口949

16.10 使用当前Internet连接设置954

16.11 使用FTP下载文件961

第17章 安全963

17.0 引言963

17.1 控制对本地程序集中类型的访问963

17.2 加密/解密串973

17.3 加密和解密文件977

17.4 清除加密信息982

17.5 验证串在传输过程中未遭到破坏984

17.6 包装串的散列以便于使用987

17.7 一个更好的随机数生成器993

17.8 安全地存储数据994

17.9 使安全断言安全1001

17.10 防止对程序集的恶意修改1003

17.11 验证程序集已经被授予特定权限1006

17.12 尽量减小程序集的攻击面1007

17.13 获得安全/审计信息1008

17.14 授予/撤销对文件或注册表键的访问权限1014

17.15 用安全串保护串数据1017

17.16 保护流数据1019

17.17 加密web.config信息1028

17.18 得到抛出一个SecurityException的完整原因1030

17.19 得到安全的Unicode编码1033

17.20 得到一个更安全的文件句柄1034

第18章 线程与同步1036

18.0 引言1036

18.1 创建针对单个线程的静态字段1036

18.2 对类成员提供线程安全的访问1039

18.3 防止线程悄无声息地终止1045

18.4 轮询异步委托1047

18.5 让异步委托超时1050

18.6 得到异步委托完成的通知1052

18.7 确定线程池请求是否排队1055

18.8 配置定时器1057

18.9 秘密地存储特定于线程的数据1060

18.10 用信号量允许多个客户访问资源1064

18.11 用Mutex同步多个进程1068

18.12 使用事件来实现线程协作1079

18.13 得到事件的命名权限1081

18.14 线程间执行原子操作1085

第19章 不安全的代码1087

19.0 引言1087

19.1 控制对传递给方法的指针的修改1088

19.2 比较指针1091

19.3 遍历数组1093

19.4 管理指向固定数组的指针1095

19.5 返回数组中一个特殊元素的指针1096

19.6 创建并使用指针数组1098

19.7 切换未知指针类型1099

19.8 将串转换为char*1102

19.9 声明有内嵌数组的固定大小的结构1103

第20章 工具箱1105

20.0 引言1105

20.1 处理操作系统停止、电源管理或用户会话修改1105

20.2 控制服务1110

20.3 列出加载给定程序集的进程1114

20.4 在本地工作站上使用消息队列1115

20.5 查找当前Framework版本的路径1118

20.6 确定全局程序集缓存(GAC)中所注册程序集的版本1119

20.7 得到Windows目录1122

20.8 捕获标准输出流的输出1123

20.9 代码在其自己的应用域中运行1125

20.10 确定操作系统和当前操作系统的SP版本1127

热门推荐