C#经典实例-(第二版)

本书特色

[

本书是畅销书《C#经典实例》的*新版,针对C# 2.0和.NET 2.0做了全面修订。对于C#程序员经常遇到的300多个*常见和不那么常见的任务,本书涌盖了解决这些问题所需的全部技巧。从使用正则表达式到处理泛型类型,再到如何让代码在其自己的应用域中运行,通过本书的介绍,你会更深入地了解C#语言,在基于.NET 2.0的Windows应用和ASP.NET Web应用新领域中更加游刃有余。.
第二版的主要特点包括:
·编写了新的章节来讨论泛型、迭代器、部分类型以及Web,并补充了90多个新技巧,包括“使用匿名方法”、“迭代器实现为重载操作符”和“加密web.config信息”等等。
·提供了反映C#2.0和.NET 2.0变化的一些新技巧,如“将Stack和Queue替换为相应的泛型类型”和“控制服务”。..
·为每个解决方案捉供了可下载的代码,包括完备的测试用例,以便编译和测试这些示例,还可以复制粘贴对你有用的代码行,来创建你自己的解决方案。
本书共20章,主要包括以下内容:
·泛型类型、集合和迭代器
·异常处理和诊断、事件、委托以及匿名方法
·数值、枚举、类、结构和部分类
·串、正则表达式和XML
与O’Reilly Cookbook系列的其他书一样,这里的每个技巧都做了精心组织,以便你快速了解问题,学会如何加以解决,并了解到可能存在的问题或限制。对于刚接触C#的程序员来说,本书绝对是你起步并不断提高技艺的得力工具。如果你已经是一个有经验的程序员,会发现利用本书能很方便地查看语法和常见用例;随着企业的发展,你还会遇到更棘手的问题,本书将是解决这些问题的一个绝好资源。不论是谁,可能只需这里的一个技巧就能让你轻松地脱身,而不必整日整夜地呆在计算机旁苦思冥想。…


]

内容简介

[

本书是《C#经典实例》的*新版,针对C#2.0和.NET 2.0做了全面修订。对于C#程序员经常遇到的300多个*常见和不那么常见的任务,本书涵盖了解决这些问题所需的全部技巧。从使用正则表达式到处理泛型类型,再到如何让代码在其自己的应用域中运行,通过本书的介绍,你会更深入地了解 C#语言,在基于.NET 2.0的Windows应用和ASP.NET Web应用新领域中更加游刃有余。
  本书共20章,主要包括以下内容:泛型类型、集合和迭代器、异常处理和诊断、事件、委托以及匿名方法、数值、枚举、类、结构和部分类、串、正则表达式和XML。
  本书中的每个技巧都做了精心组织,以便你快速了解问题,学会如何加以解决,并了解到可能存在的问题或限制。对于刚接触c#的程序员来说,本书绝对是你起步并不断提高技艺的得力工具。如果你已经是一个有经验的程序员,会发现利用本书能很方便地查看语法和常见用例;随着企业的发展,你还会遇到更棘手的问题,本书将是解决这些问题的一个绝好资源。不论是谁,可能只需这里的一个技巧就能让你轻松地脱身,而不必整日整夜地呆在计算机旁苦思冥想。

]

目录

前言第1章数字与枚举1.0引言.1.1确定分数与浮点数值之间的近似相等性1.2度转换为弧度1.3弧度转换为度1.4对各种数据类型使用反码操作符1.5测试奇偶值1.6得到一个数的高字或低宇1.7将其他进制的数转换为十进制数1.8确定一个串是否是一个合法数字1.9浮点数值取整1.10选择取整算法1.11摄氏温度转换为华氏温度1.12华氏温度转换为摄氏温度1.13安全地执行窄化数值强制转换1.14得出直角三角形任意三边的边长1.15得出直角三角形的角度1.16将枚举值显示为一个串1.17将纯文本转换为一个等价的枚举值1.18测试一个合法的枚举僖1.19测试是否为合法的标志枚举1.20在位掩码中使用枚举成员1.21确定是否设置了一个或多个枚举标志1.23确定一个Decimal或Double的整数部分第2章串和字符2.0引言2.1确定一个char包含何种字符2.2确定一个字符是否在指定范围内2.3匕较两个字符时控制大小写敏感性2.4找出字符在串中的所有出现2.5找出一个串在另一个串中的所有出现的位置2.6实现一个简单的词法分析器解构一个串2.7男较两个串时控制大小写敏感性2.8将一个串与第二个串的开头或结尾进行比较2.9在串中插入文本2.10删除或替换串中的字符2.11将二进制数据编码为Base642.12对Base64编码的二进制数据解码2.13将作为Byte[]返回的一个串转换回String2.14将一个String传递给只接受byte[]的方法2.15将串转换为其他类型2.16格式化串中的数据2.17创建一个定界串2.18从定界串抽取项2.19设置StringBuilder所能包含的*大字符数2.20迭代处理串中的各个字符2.21改善串比较性能2.22改善StringBuilder的性能2.23去掉串开头和/或结尾的字符2.24测试一个串是否为Null或空串2.25追加一行2.26大块数据的编码第3章类和结构3.0引言3.1创建联合类型的结构3.2允许一个类型将自身表示为String3.3将一个对象的串表示转换为实际对象3.4利用抽象基类实现多态3.5使类型可排序3.6使类型可搜索3.7间接重载+=.-=./=和*=操作符3.8间接重载&&.II,和?:操作符3.9打开或关闭位3.10建立无错表达式3.11*小化(减少)布尔逻辑3.12以独立于语言的方式实现简单类型间的转换3.13确定何时使用强制转换操作符.as操作符或is操作符3.14用as操作符强制转换3.15用is操作符确定一个变量的类型3.16用接口实现多态3.17在多个对象类型上调用相同的方法3.18使用接口增加通知回调3.19使用多个入口点实现应用版本化3.20避免创建仅部分初始化的对象3.21从一个方法返回多项3.22解析命令行参数3.23改进类以与COM互操作3.24在运行时初始化一个常量字段3.25编写与所有托管语言兼容的代码3.26构建可复制类3.27确保对象撤销3.28通过托管代码释放COM对象3.29创建对象缓存3.30回滚对象修改3.31非托管资源的撤销3.32确定装箱和拆箱发生在何处第4章泛型4.0引言4.1决定何时及何处使用泛型4.2了解泛型类型4.3得到泛型类型的类型4.4将ArrayList替换为其相应的泛型类型4.5将Stack和Queue替换为相应的泛型类型4.6实现一个链表4.7创建可以初始化为Null的值类型4.8逆转有序表的内容4.9建立泛型只读集合4.10将Hashtable替换为其相应的泛型类型4.11对泛型Dictionary类型使用foreach4.12约束类型参数4.13将泛型变量初始化为其默认值第5章集合5.0引言5.1交换数组中的两个元素5.2快速逆置数组5.3逆置二维数组5.4逆置多重数组5.5编写一个更灵活的StackTrace类5.6确定一项出现在List中的次数5.7获取一个特定项在List中的所有实例5.8从数组插入和删除项5.9保持List有序5.10对字典的键和/或值排序5.11创建一个有*大值和*小值边界的字典5.12将数组数据显示为定界串5.13在数组中存储列表的快照5.14在应用会话之间持久存储集合5.15测试Array或List中的每一个元素5.16在Array或List中的每个元素上执行一个动作5.17创建一个只读Array或List第6章迭代器和部分类型6.0引言6.1在类中实现嵌套foreach功能6.2创建定制枚举器6.3在泛型类型上创建一个迭代器6.4在非泛型类型上创建一个迭代器6.5创建接受参数的迭代器6.6在一个类型上增加多个迭代器6.7将迭代器实现为重载操作符6.8迫使迭代器停止迭代6.9处理Finally块和迭代器6.10组织接口实现6.11生成不再在主代码路径中的代码第7章异常处理7.0引言7.1验证关键参数7.2了解何时捕获和重新抛出异常7.3明确异常及其用法7.4单独地处理派生异常7.5使用Finally块时确保异常,不丢失7.6处理通过反射调用的方法所抛出的异常7.7调试加载程序集时的问题7.8托管异常和HRESULT之间的映射7.9处理用户自定义的HRESULT7.10避免未处理的异常7.11获得异常信息7.12快速找出问题根源7.13创建一个新的异常类型7.14得到栈轨迹7.15异常初次出现时中断7.16避免恶毒的TypeInitializationException7.17处理从异步委托抛出的异常7.18通过Exception.Data为异常提供所需的额外信息7.19使用可视化工具以一种新方式查看异常7.20在WinForms应用中处理未处理的异常第8章诊断8.0引言8.1在生产代码中控制跟踪输出8.2对调试/跟踪输出提供细粒度控制8.3创建你自己的定制开关类8.4有条件地编译代码块8.5确定一个进程是否停止响应8.6在应用中使用事件日志8.7改变一个定制事件日志的*大大小8.8搜索事件日志条目8.9监视事件日志中的特定条目8.10查找一个特定事件日志的所有源8.11实现一个简单的性能计数器8.12实现需要基计数器的性能计数器8.13启用和禁用复杂的跟踪代码8.14捕获进程的标准输出8.15为类创建定制调试显示8.16确定当前AppDomain设置信息8.17通过编程提高进程的优先级8.18查看运行时环境,确定能做何处理第9章委托.事件和匿名方法9.0引言9.1控制组播委托中是否触发和何时触发一个委托9.2从组播委托中的各个委托得到返回值9.3单独地处理组播委托中各委托的异常9.4将同步委托调用转换为异步委托调用9.5包装密封类来增加事件9.6向事件来回传递特殊化参数9.7一种高级接口搜索机制9.8一个高级成员搜索机制9.9观察对一个Hashtable的增加和修改9.10使用Windows键盘钩9.11跟踪和响应鼠标9.12使用匿名方法9.13简洁地建立事件处理器9.14在匿名方法中使用不同参数修饰符9.15使用C#中的闭包9.16使用算子在一个列表上执行多个操作第10章正则表达式10.0引言10.1枚举列出匹配10.2从MatchCollection抽取组10.3验证正则表达式的语法10.4快速地找出串中*后一个匹配10.5替换串中的字符或单词10.6增强基本的串替换功能10.7实现一个更好的词法分析器10.8编译正则表达式10.9统计文本行10.10返回找到匹配的整行10.11找到一个匹配的特定出现10.12使用公共模式10.13为正则表达式增加文档注释10.14使用内置正则表达式解析ASP.NET页面第11章数据结构和算法..11.0引言11.1为一个数据类型创建散列码11.2创建优先队列11.3创建双向队列11.4确定字符或串在哪里不平衡11.5创建一对多映射(MultiMap)11.6创建二叉树11.7创建n叉树11.8创建一个Set对象第12章文件系统I/O12.0引言12.1创建.复制.移动或删除文件12.2管理文件属性12.3重命名文件12.4确定一个文件是否存在12.5选择一个打开文件或流的方法来完成读和/或写12.6随机地访问部分文件12.7输出一个平台独立的EOL字符12.8创建和读写文件12.9确定一个目录是否存在12.10创建.移动或删除一个目录12.11管理目录属性12.12重命名目录12.13使用通配符搜索目录或文件12.14得到目录树12.15解析路径12.16解析环境变量中的路径12.17验证路径12.18在应用中使用临时文件12.19只用文件句柄打开文件流12.20一次写多个输出文件12.21启动控制台工具并与之交互12.22锁定文件中的部分12.23监视文件系统中对一个或多个或目录的特定修改12.24等待文件系统中发生某个动作12.25比较两个可执行模块的版本信息12.26查询一个系统上所有驱动器的信息12.27加密/解密一个现有的文件12.28压缩和解压文件第13章反射13.0引言13.1列出所引用的程序集13.2列出导出的类型,13.3查找被覆盖的方法13.4查找一个程序集中的成员13.5查找一个接口中的成员13.6确定和得到一个程序集中的嵌套类型13.7显示一个类型的继承层次体系13.8查找一个类型的子类13.9查找一个程序集中的所有可串行化类型13.10得到成员时过滤输出13.11动态地调用成员13.12为模糊器提供指导13.13确定一个类型或方法是否为泛型13.14通过编程读取清单资源13.15访问局部变量信息13.16创建泛型类型第14章Web14.0引言14.1将IP地址转换为主机名14.2将主机名转换为IP地址14.3解析URI14.4构成和验证绝对URI14.5处理Web服务器错误14.6与Web服务器通信14.7通过代理14.8从URL得到HTML14.9使用新的Web浏览器控件14.10缓存数据库表14.11缓存有多个依赖关系的数据14.12通过编程预构建一个ASP.NETWeb网站14.13Web转义数据和取消转义14.14使用UriBuilder类14.15检查和修改Web应用配置14.16处理HTML14.17处理HTTP时使用缓存结果来得到更高的性能14.18检查一个Web服务器的定制错误页面14.19确定IIS上ASP.NET的应用映射第15章XML15.0引言15.1按文档顺序读取和访问XML数据15.2读取Web上的XML15.3查询一个XML文档的内容15.4验证XML15.5通过编程创建XML文档15.6检测对XML文档的修改15.7处理XML串中的非法字符15.8转换XML15.9分解XML文档15.10整理XML文档15.11验证有修改的XML文档而无需重加载15.12扩展XSLT转换15.13从现有的XML文件批量地得到模式15.14向XSLT转换传递参数第16章网络16.0引言16.1编写TCP服务器16.2编写TCP客户16.3模拟表单执行16.4从服务器下载数据16.5使用命名管道来通信16.6通过编程完成ping操作16.7使用SMTP服务发送SMTP邮件16.8检查网络互连性16.9使用Socket扫描机器上的端口16.10使用当前Internet连接设置16.11使用FTP下载文件第17章安全17.0引言17.1控制对本地程序集中类型的访问17.2加密/解密串17.3加密和解密文件17.4清除加密信息17.5验证串在传输过程中未遭到破坏17.6包装串的散列以便于使用17.7一个更好的随机数生成器17.8安全地存储数据17.9使安全断言安全17.10防止对程序集的恶意修改17.11验证程序集已经被授予特定权限17.12尽量减小程序集的攻击面17.13获得安全/审计信息17.14授予/撤销对文件或注册表键的访问权限17.15用安全串保护串数据17.16保护流数据17.17加密web.config信息17.18得到抛出一个SecurityException的完整原因17.19得到安全的Unicode编码17.20得到一个更安全的文件句柄第18章线程与同步18.0引言18.1创建针对单个线程的静态宇段18.2对类成员提供线程安全的访问18.3防止线程悄无声息地终止18.4轮询异步委托18.5让异步委托超时18.6得到异步委托完成的通知18.7确定线程池请求是否排队18.8配置定时器18.9秘密地存储特定于线程的数据18.10用信号量允许多个客户访问资源18.11用Mutex同步多个进程18.12使用事件来实现线程协作18.13得到事件的命名权限18.14线程间执行原子操作第19章不安全的代码19.0引言19.1控制对传递给方法的指针的修改19.2比较指针19.3遍历数组19.4管理指向固定数组的指针19.5返回数组中一个特殊元素的指针19.6创建并使用指针数组19.7切换未知指针类型19.8将串转换为char*19.9声明有内嵌数组的固定大小的结构第20章工具箱20.0引言20.1处理操作系统停止.电源管理或用户会话修改20.2控制服务20.3列出加载给定程序集的进程20.4在本地工作站上使用消息队列20.5查找当前Framework版本的路径20.6确定全局程序集缓存(GAC)中所注册程序集的版本20.7得到Windows目录20.8捕获标准输出流的输出20.9代码在其自己的应用域中运行20.10确定操作系统和当前操作系统的SP版本…

封面

C#经典实例-(第二版)

书名:C#经典实例-(第二版)

作者:希亚德

页数:未知

定价:¥128.0

出版社:中国电力出版社

出版日期:2007-06-01

ISBN:9787508351520

PDF电子书大小:146MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注