您好,欢迎来到沪江网店^_^  [ 请登录 ] [ 免费注册 ]
点击进入购物车
您的购物车中目前是空的哦

‹ 后退
市场价:109.00元
沪江价:¥70.00
VIP3-VIP4¥66.50
出版社:机械工业出版社
作 者:Joseph Albahari,Ben Albahari
赠送积分:77 分
浏 览:2820 次

该产品已下架,点这里缺货登记
点击看大图 点击看大图  
所属分类:计算机图书 / C#    产品标签 : C# (12)    C# 3.0 (2)
产品规格及特色:

相关专题:http://book.cnblogs.com/zt/csharp_3/

【书  名】C# 3.0核心技术
【作    者】Joseph Albahari,Ben Albahari

【译    者】康华
【出 版 社】机械工业出版社
【书    号】9787111248866
【出版日期】2009年3月




C#和.NET框架的每个版本都加入了一些新功能,为提高生产效率带来极大潜力。C# 3.0引入对语言最显著的改进是统一查询语法,被称为语言集成查询(Language Integrated Query)或者缩写为LINQ。LINQ在程序和数据资源之间架起了桥梁,连接了这种传统的分离,同时使C#更加接近功能性语言如LISP和Haskell。
这种增加的代价是有更多的内容要学习。但是,如Microsoft提供的IntelliSense(和在线参考文档)工具很好的帮助你完成工作,它们假定存在一个概念知识图。本书使用简明和自由统一的风格组织这些庞杂的知识,并且给出详细的介绍,为读者正确的勾画出这个知识图。
与以往的版本不同,C# 3.0核心技术完全围绕概念和用例组织,使得本书既适合按顺序阅读又可以随意浏览。在考虑较少背景知识的同时比过去的版本更加深入讲解,使得本书是目前最易于理解的版本。
本书覆盖C#、CLR和框架核心程序集。我们选择这个为重点以使难度大的主题之间保留间隔,而不需要降低深度或者可读性,比如线程、安全和应用程序域等主题。本书标注了C# 3.0以及相关框架的新增特性,所以也可以作为C# 2.0的参考。




译者序
引言
第1章 C# 与 .NET 框架介绍
 1.1 面向对象
 1.2 类型安全
 1.3 内存管理
 1.4 平台支持
 1.5 C# 与通用语言运行时的关系
 1.6 通用语言运行时与 .NET 框架
 1.7 C# 3.0 中有哪些新内容

第2章 C#语言基础
 2.1 第一个C#程序
  2.2.1 编译
 2.2 语法
  2.2.1 标识符和关键字
  2.2.2 文字、符号和运算符
  2.2.3 注释
 2.3 类型基础
  2.3.1 预定义类型示例
  2.3.2 定制的类型示例
  2.3.3 转换
  2.3.4 值类型和引用类型的对比
  2.3.5 预定义类型分类
 2.4 数值类型
  2.4.1 数值文字
  2.4.2 数值转换
  2.4.3 算数运算符
  2.4.4 递增和递减运算符
  2.4.5 专有的整数运算
  2.4.6 8位和16位整数类型
  2.4.7 特殊的单精度和双精度浮点数值
  2.4.8 双精度浮点数与小数的对比
  2.4.9 实数舍入的误差
 2.5 布尔类型及其运算符
  2.5.1 布尔类型转换
  2.5.2 相等和比较运算符
  2.5.3 条件运算符
 2.6 字符串和字符
  2.6.1 字符转换
  2.6.2 字符串类型

2.7 数组
  2.7.1 默认的元素初始化
  2.7.2 多维数组
  2.7.3 简化的数组初始化表达式
  2.7.4 边界检查
 2.8 变量和参数
  2.8.1 栈和堆
  2.8.2 明确赋值
  2.8.3 缺省值
  2.8.4 参数
  2.8.5 隐式声明类型的局部变量(C# 3.0)
 2.9 表达式与操作符
  2.9.1 基本表达式
  2.9.2 空表达式
  2.9.3 赋值表达式
  2.9.4 操作符的优先级和结合性
  2.9.5 操作符表
 2.10 语句
  2.10.1 声明语句
  2.10.2 表达式语句
  2.10.3 选择语句
  2.10.4 迭代语句
  2.10.5 跳转语句
  2.10.6 杂项语句:
 2.11 命名空间
  2.11.1 namespace 关键字
  2.11.2 完全限定名字
  2.11.3 using 指示符
  2.11.4 全局命名空间
  2.11.5 命名空间的规则
  2.11.6 别名化类型与命名空间
  2.11.7 高级命名空间特性

第3章 在C#中创建类型
 3.1 类
  3.1.1 字段
   3.1.1.1 只读修饰符
   3.1.1.2 字段初始化
   3.1.1.3 同时声明多个字段
  3.1.2 方法
   3.1.2.1 重载方法
   3.1.2.2 按值传递和按引用传递
  3.1.3 实例构造函数
   3.1.3.1 重载构造函数
   3.1.3.2 隐式无参数构造函数
   3.1.3.3 构造函数和字段的初始化顺序
   3.1.3.4 非公有构造函数
  3.1.4 对象初始化(C# 3.0)
  3.1.5 this引用
  3.1.6 属性(Properties)
   3.1.6.1 只读和计算属性
   3.1.6.2 自动实现属性(C# 3.0)
   3.1.6.3 get 和 set的访问属性
   3.1.6.4 通用语言运行时(CLR)中属性的实现
  3.1.7 索引
   3.1.7.1 实现索引
   3.1.7.2 通用语言运行时中的索引实现
  3.1.8 常量
  3.1.9 静态构造函数
   3.1.9.1 静态字段初始化顺序
   3.1.9.2 静态构造函数的不确定论
  3.1.10 静态类
  3.1.11 析构函数
  3.1.12 部分类和方法
   3.1.12.1 部分方法(C# 3.0)
 3.2. 继承
  3.2.1. 多态
  3.2.2. 转换
   3.2.2.1. 向上转换
   3.2.2.2. 向下转换
   3.2.2.3. as操作符
   3.2.2.4. is操作符
  3.2.3. 虚函数成员
  3.2.4. 抽象类与抽象方法
  3.2.5. 屏蔽继承来的成员
   3.2.5.1. new与virtual相比较
  3.2.6. 锁定函数和类
  3.2.7. base关键字
  3.2.8. 构造函数与继承
   3.2.8.1. 隐式调用无参数的基类构造函数
   3.2.8.2. 构造函数与成员域初始化顺序
  3.2.9. 重载与决议
 3.3. 对象(object)类型
  3.3.1. 装箱和拆箱
   3.3.1.1. 装箱和拆箱语义上复制行为
  3.3.2. 静态与动态类型检查
  3.3.3. GetType方法和typeof操作符
  3.3.4. ToString方法
  3.3.5. Object类的成员列表
 3.4. 结构
  3.4.1. 结构构造函数语法
 3.5. 访问修饰符
  3.5.1. 例子
  3.5.2. 访问权限覆盖
  3.5.3. 访问修饰符的约束
 3.6. 接口
  3.6.1. 拓展接口
  3.6.2. 显式接口实现
  3.6.3. 实现虚接口成员
  3.6.4. 在子类中重新实现一个接口
   3.6.4.1. 接口重新实现以外的选择
  3.6.5. 接口与装箱
  3.6.6. 类与接口的比较
 3.7. 枚举
  3.7.1. 枚举转换
  3.7.2. 标志枚举
  3.7.3. 枚举操作符
  3.7.4. 类型安全问题
 3.8. 嵌套类型
 3.9. 泛型
  3.9.1. 泛型类型
  3.9.2. 为什么会存在泛型
  3.9.3. 泛型方法
  3.9.4. 声明泛型参数
  3.9.5. Typeof与泛型
  3.9.6. 泛型的缺省值
  3.9.7. 泛型限制
  3.9.8. 泛型与协方差
  3.9.8.. 比较泛型类型和数组类型
  3.9.9. 为泛型类型产生子类
  3.9.10. 引用自身的泛型声明
  3.9.11. 静态数据
  3.9.12. C#泛型与C++模版的比较

第4章 C#的高级应用
 4.1 委托
  4.1.1 给委托编写插件方法
  4.1.2 多路广播委托
  4.1.3 实例方法目标
  4.1.4 泛型委托类型
  4.1.5 委托与接口
  4.1.6 委托兼容性
 4.2 事件
  4.2.1 标准事件模式
  4.2.2 事件存取器
  4.2.3 事件修改器
 4.3 Lambda表达式(C# 3.0)
  4.3.1显式指定Lambda参数类型
  4.3.2泛型Lambda表达式与Func委托
  4.3.3 外部变量
 4.4匿名方法
 4.5 try语句和异常
  4.5.1 catch子句
  4.5.2 finally语句块
  4.5.3 抛出异常
  4.5.4 System.Exception的关键属性
  4.5.5常用异常类型
  4.5.6 通用模式
 4.6 枚举与迭代
  4.6.1 枚举
  4.6.2 迭代器
  4.6.3 迭代器语义
  4.6.4 组合序列
  4.6.5 构造可枚举对象
 4.7 可空类型
  4.7.1 null基础
  4.7.2 提升运算符
  4.7.3 bool?
  4.7.4 空接合运算符
  4.7.5 使用可空类型的情况
  4.7.6可空类型的替代
 4.8 运算符重载
  4.8.1 概述
  4.8.2 运算符函数
  4.8.3 重载相等和比较运算符
  4.8.4 自定义隐式和显式转换
  4.8.5 重载true和false
 4.9 扩展方法(C# 3.0)
  4.9.1 扩展方法链
  4.9.2 模糊与明确
  4.9.3 接口的扩展方法
 4.10 匿名类型(C# 3.0)
 4.11 属性
  4.11.1 Attribute类
  4.11.2命名参数和位置参数
  4.11.3 属性目标
  4.11.4 指定多个属性
 4.12 不安全代码和指针
  4.12.1 指针基础
  4.12.2 不安全代码
  4.12.3 fixed语句
  4.12.4 指针调用成员操作符
  4.12.5 数组
  4.12.6 void*
  4.12.7 指向非托管代码的指针
 4.13 预处理器指令
  4.13.1 Conditional属性
  4.13.2 Pragma Warning
 4.14 XML文档
  4.14.1 预定义XML标记
  4.14.2 用户定义标记
  4.14.3 类型或者成员的交叉引用

第5章 .NET框架概述
5.1 CLR与框架核心
  5.1.1 系统类型
  5.1.2 文本处理
  5.1.3 集合
  5.1.4 查询
  5.1.5 XML
  5.1.6 流与输入/输出
  5.1.7 网络
  5.1.8 序列化
  5.1.9 程序集、反射和属性
  5.1.10 安全
  5.1.11 线程和异步方法
  5.1.12 应用程序域
  5.1.13 本地互操作性
  5.1.14 诊断
 5.2 应用技术
  5.2.1 用户接口技术
  5.2.2 后台技术
  5.2.3 分布式系统技术

第6章 基本框架
 6.1 字符串和文本处理
  6.1.1 char字符类型
  6.1.2 String类型
  6.1.3字符串比较
  6.1.4 StringBuilder
  6.1.5字符编码与Unicode
 6.2日期和时间
  6.2.1 TimeSpan
  6.2.2 DateTime和DateTimeOffset
 6.3日期与时区
  6.3.1 DateTime与时区
  6.3.2 DateTimeOffset与时区
  6.3.3 TimeZone和TimeZoneInfo
  6.3.4 夏时制和DateTime
 6.4格式化和分析
  6.4.1 ToString和Parse
  6.4.2 格式提供程序
 6.5 标准格式字符串和分析标识
  6.5.1数字格式字符串
  6.5.2 NumberStyles
  6.5.3 DateTime格式字符串
  6.5.4 DateTimeStyles
  6.5.5 枚举类型格式控制字符串
 6.6 其他转换机制
  6.6.1 Convert
  6.6.2 XmlConvert
  6.6.3 类型转换器Type Converters
  6.6.4 BitConverter
 6.7 数字操作
  6.7.1 转换
  6.7.2 Math
  6.7.3 Random
 6.8 枚举类型
  6.8.1 Enum的转换
  6.8.2 枚举Enum值
  6.8.3 枚举类型如何工作
 6.9 Guid结构
 6.10 相等比较
  6.10.1 引用相等与数值相等
  6.10.2 标准相等协议
  6.10.3 相等性与自定义类型
 6.11 顺序比较
  6.11.1 IComparable
 6.12 实用类
  6.12.1 Console
  6.12.2 Environment
  6.12.3 Process

第7章 集合
 7.1 Enumeration
  7.1.1 IEnumerable 和 IEnumerator
  7.1.2 IEnumerable<T> 和IEnumerator<T>
  7.1.3 实现枚举接口
  7.1.4 IDictionaryEnumerator
 7.2 ICollection和IList接口
  7.2.1 ICollection和ICollection<T>
  7.2.2 IList和IList<T>
 7.3 Array类
  7.3.1 构造和索引
  7.3.2 枚举
  7.3.3 长度和秩
  7.3.4 查询
  7.3.5 排序
  7.3.6 反转元素顺序
  7.3.7 复制、转换与调整大小
 7.4 列表、队列、栈和集合
  7.4.1 List<T> 与ArrayList
  7.4.2 LinkedList<T>
  7.4.3 Queue和Queue<T>
  7.4.4 Stack和Stack<T>
  7.4.5 BitArray
  7.4.6 HashSet<T>
 7.5 字典
  7.5.2 Dictionary<TKey,TValue>与Hashtable
  7.5.3 OrderedDictionary
  7.5.4 ListDictionary与HybridDictionary
  7.5.5 有序字典
 7.6 自定义集合和代理
  7.6.1 Collection<T>与CollectionBase
  7.6.3 ReadOnlyCollection<T>
 7.7 可插入的相等比较和顺序比较
  7.7.2 IComparer与Comparer
  7.7.3 StringComparer

第8章 语言集成查询
 8.1 起步
 8.2 Lambda查询
  8.2.1 链接查询运算符
  8.2.2 组成Lambda表达式
  8.2.3 自然排序
  8.2.4 其他运算符
 8.3 广义查询(Comprehension Queries)
  8.3.1 迭代变量
  8.3.2 广义语法与SQL语法
  8.3.3广义语法与Lambda语法
  8.3.4 混合语法查询
 8.4 延迟执行
  8.4.1 重新求值
  8.4.2 外部变量
  8.4.3 延迟执行如何工作
  8.4.4 链接装饰器
  8.4.5 查询如何执行
 8.5 子查询
 8.6 组合策略
  8.6.1 渐进式查询构建
  8.6.2 into关键字
  8.6.3 封装查询
 8.7 投影策略
  8.7.1 对象初始化器
  8.7.2 匿名类型
  8.7.3 let关键字
 8.8 解释查询
  8.8.1 解释查询如何工作
  8.8.2 组合解释查询和本地查询
  8.8.3 AsEnumerable
 8.9 LINQ to SQL
  8.9.1 LINQ to SQL实体类
  8.9.2 DataContext
  8.9.3 自动生成实体
  8.9.4 关联
  8.9.5 LINQ to SQL中的延迟执行
  8.9.6 DataLoadOptions
  8.9.7 更新
 8.10 构建查询表达式
  8.10.1 委托与表达式树
  8.10.2 表达式树

第9章 LINQ运算符
 9.1 概述
  9.1.1 集合?集合
  9.1.2 集合?非集合
  9.1.3 非集合?集合
 9.2 筛选
  9.2.1 Where
  9.2.2 Take和Skip
  9.2.3 TakeWhile和SkipWhile
  9.2.4 Distinct
 9.3 投影
  9.3.1 Select
  9.3.2 SelectMany
 9.4 联接
  9.4.1 Join和GroupJoin
 9.5 排序
  9.5.1 OrderBy,OrderByDescending,ThenBy和
 9.6 分组
  9.6.1 GroupBy
 9.7 Set运算符
  9.7.1 Concat和Union
  9.7.2 Intersect和Except
 9.8 转换方法
  9.8.1 OfType和Cast
  9.8.3 AsEnumerable和AsQueryable
 9.9 元素运算符
  9.9.1 First,Last和Single
  9.9.2 ElementAt
  9.9.3 DefaultIfEmpty
 9.10 聚合方法
  9.10.1 Count和LongCount
  9.10.2 Min和Max
  9.10.3 Sum和Average
  9.10.4 Aggregate
 9.11 限定符
  9.11.1 Contains和Any
  9.11.2 All和SequenceEqual
 9.12 生成方法
  9.12.1 Empty
  9.12.2 Range和Repeat

第10章 LINQ to XML
 10.1 体系概述
  10.1.1 DOM是什么?
  10.1.2 LINQ to XML DOM
 10.2 X-DOM概述
  10.2.1 加载和解析
  10.2.2 保存和序列化
 10.3 实例化X-DOM
  10.3.1 函数构造
  10.3.2 指定内容
  10.3.3 自动的深度复制
 10.4 导航和查询
  10.4.1 孩子节点导航
  10.4.2 父节点导航
  10.4.3 同级节点导航
  10.4.4 属性导航
 10.5 更新X-DOM
  10.5.1 简单的值更新
  10.5.2 更新孩子节点和属性
  10.5.3 通过父节点更新
 10.6 操作Value
  10.6.1 设置Value
  10.6.2 获取Value
  10.6.3 值和混合内容节点
  10.6.4 自动的XText串联
 10.7 文档和声明
  10.7.1 XDocument
  10.7.2 XML声明
 10.8 名称和命名空间
  10.8.1 XML中的命名空间
  10.8.2 在X-DOM中指定命名空间
  10.8.3 X-DOM和默认的命名空间
  10.8.4 前缀
 10.9 批注(Annotations)
 10.10 投影到X-DOM
  10.10.1 消除空元素
  10.10.2 流化投影
  10.10.3 转换X-DOM

第11章 其他XML技术
 11.1. XmlReader
  11.1.2. 读元素
  11.1.3. 读属性
  11.1.4. 命名空间和前缀
 11.2. XmlWriter
  11.2.1. 写属性
  11.2.2.写其他节点类型
  11.2.3.命名空间和前缀
 11.3.使用XmlReader/XmlWriter的模式
  11.3.1.与分层的数据工作
  11.3.2.将XmlReader/XmlWriter和X-DOM混合
 11.4. XmlDocument
  11.4.1.加载和保存XmlDocument
  11.4.2.遍历一个XmlDocument
  11.4.3. InnerText and InnerXml
  11.4.4.创建和操作节点
  11.4.5.命名空间
 11.5. XPath
  11.5.1.公共XPath操作符
  11.5.2. XPathNavigator
  11.5.3.用命名空间查询
  11.5.4. XPathDocument
 11.6 XSD和架构验证
  11.6.1 执行架构验证
 11.7 XSLT

第12章  处置与回收
 12.1. IDisposable, Dispose, 和 Close
  12.1.1. 标准的处置语义
   12.1.1.1. Close 和Stop
  12.1.2. 什么时候进行处置
  12.1.3. Opt-in Disposal
 12.2.垃圾收集与终止器
 12.3. 从终止器中调用Dispose
 12.4. Garbage Collector如何工作
  12.4.1. 优化技术
  12.4.2.强制垃圾收集
 12.5.垃圾收集操作的替代操作

第13章 流与输入/输出
 13.1. 流结构
 13.2.使用流
  13.2.1.读和写
  13.2.2. 查询
  13.2.3. 关闭和清空
  13.2.4. 超时设定
  13.2.5. 线程安全
  13.2.6. 备份存储流
  13.2.7. 文件流
   13.2.7.1. 构造一个FileStream
   13.2.7.2. 指定文件名
   13.2.7.3. 指定文件模式
   13.2.7.4.高级文件流功能
  13.2.8. 内存流
  13.2.9. 管道流
   13.2.9.1. 有名的管道
   13.2.9.2无名管道
  13.2.10. 缓冲流
 13.3. 流适配器
  13.3.1.文本适配器
   13.3.1.1. StreamReader 和 StreamWriter
   13.3.1.2. 字符编码
   13.3.1.3. StringReader和 StringWriter
  13.3.2. 二进制适配器
  13.3.3. 关闭和处置流适配器
 13.4.文件和文件夹操作
  13.4.1.文件类
   13.4.1.1. 压缩和编码属性
   13.4.1.2. 文件安全性
  13.4.2. 文件夹类
  13.4.3. FileInfo 和 DirectoryInfo
  13.4.4. 路径
  13.4.5. 特殊文件夹
  13.4.6. 查询卷信息
  13.4.7.捕获文件系统事件
 13.5. 压缩
  13.5.1. 在内存中压缩
 13.6. 独立存储
  13.6.1. 独立类型
  13.6.2. 读和写独立存储
  13.6.3.存储位置
  13.6.4. 枚举独立存储

第14章 网络
 14.1. 网络结构
 14.2. 地址和端口
 14.3. URIs
 14.4.请求/响应结构
  14.4.1. WebClient
  14.4.2. WebRequest and WebResponse
  14.4.3. 代理
  14.4.4. 认证
   14.4.4.1. CredentialCache
  14.4.5.    Concurrency
  14.4.6. 异常处理
 14.5. HTTP-特殊支持
  14.5.1.头部
  14.5.2.查询字符串
  14.5.3.从数据中上传
  14.5.4. 小数据文件
  14.5.5. 表单认证
  14.5.6.SSL
 14.6. 写一个HTTP服务器
 14.7.使用FTP
 14.8.  使用DNS
 14.9.用SmtpClient发送邮件
 14.10. 使用TCP
  14.10.1. 并发

第15章 序列化
 15.1.序列化概念
  15.1.1. 序列化引擎
   15.1.1.1.为什么是三个引擎?
   15.1.1.2. 数据协定序列化
   15.1.1.3. 二进制序列化
   15.1.1.4. XmlSerializer
   15.1.1.5. IXmlSerializable
  15.1.2. 格式器
  15.1.3. 显式序列化与隐式序列化比较
 15.2. 数据协定序列化
  15.2.1. DataContractSerializer 与
  15.2.2. 使用序列化器
   15.2.2.1.指定一个二进制格式器
  15.2.3.序列化子类
  15.2.4.对象引用
   15.2.4.1. 保留对象引用
  15.2.5. 版本兼容
   15.2.5.1. 必要的成员
  15.2.6. 成员顺序
  15.2.7.Null和Empty值
 15.3.数据协定和结合
  15.3.1.创建子类的集合元素
  15.3.2.自定义集合和元素名称
 15.4.扩展数据协定
  15.4.1.序列化和反序列化挂钩
  15.4.2. 用[Serializable]进行交互式操作
  15.4.3.用IXmlSerializable进行交互式操作
 15.5.二进制序列化器
  15.5.1.开始
 15.6. 二进制序列化属性
  15.6.1. [NonSerialized]
  15.6.4. [OptionalField]和版本
 15.7. 用ISerializable实现二进制序
  15.7.1.创建可序列化类的子类
 15.8. XML序列化
  15.8.1由基于属性的序列化开始
   15.8.1.1.属性,名字和命名空间
   15.8.1.2.XML元素顺序
  15.8.2.创建子类以及Child对象
   15.8.2.1.创建基本类型的子类
   15.8.2.2.序列化子对象
   15.8.2.3. Subclassing child objects
  15.8.3.序列化集合
   15.8.3.1. 与子类的集合元素工作
  15.8.4. IXmlSerializable

第16章 程序集
 16.1. 程序集中有什么
  16.1.1.程序集清单
   16.1.1.1.指定程序集的属性
  16.1.2.程序集清单
   16.1.2.1.配置一个应用程序清单
  16.1.3. 模块
  16.1.4.程序集类
 16.2.签署一个程序集
  16.2.1.如何签署一个程序集
  16.2.2.延迟签署
 16.3.程序集名字
  16.3.1. 全修饰名
  16.3.2. AssemblyName类
 16.4. The Global Assembly Cache
  16.4.1. 怎样将程序集安装到GAC中
  16.4.2. GAC和版本
 16.5.资源和卫星程序集
  16.5.1. 直接嵌入的资源
  16.5.2. .resources文件
  16.5.3. .resx 文件
   16.5.3.1.在命令行中创建一个.resx文件:
   16.5.3.2.读取.resource文件
   16.5.3.3. 在Visual Studio中创建压缩的URI资源
  16.5.4.卫星程序集
   16.5.4.1.生成一个卫星程序集
   16.5.4.2. 测试卫星程序集
   16.5.4.3. Visual Studio设计器支持
  16.5.5. Cultures 和 Subcultures
 16.6. 解析和加载程序集
  16.6.1.程序集和类型解析规则
  16.6.2. AssemblyResolve
  16.6.3.加载程序集
   16.6.3.1.通过文件名加载
 16.7.在基文件夹外部解析程序集
 16.8.压缩单个文件的可执行文件
  16.8.1.择性的打补丁
 16.9.与未被引用的程序集工作

第17章 反射和元数据
 17.1 反射与激活类型
  17.1.1 获取Type
  17.1.2 类型名称
  17.1.3 基本类型和接口
  17.1.4 实例化Type
  17.1.5 泛型类型
 17.2 反射与调用成员
  17.2.1 成员类型
  17.2.2 C#成员与CLR成员
  17.2.3 泛型类型成员
  17.2.4 动态调用成员
  17.2.5 方法参数
  17.2.6 使用委托提高性能
  17.2.7 访问非公有成员
  17.2.8 泛型方法
  17.2.9 匿名调用泛型类型成员
 17.3 反射程序集
  17.3.1 加载程序集到只反射上下文中
  17.3.2 模块
 17.4 使用属性
  17.4.1 基本属性
  17.4.2 AttributeUsage属性
  17.4.3 定义属性
  17.4.4 在运行时获取属性
  17.4.5 在只反射上下文中获取属性
 17.5 动态生成代码
  17.5.1 使用DynamicMethod产生IL
  17.5.2 计算堆栈
  17.5.3 为动态方法传递参数
  17.5.4 产生局部变量
  17.5.5 跳转命令
  17.5.6 实例化对象和调用实例方法
  17.5.7 异常处理
 17.6 发出程序集和类型
  17.6.1 保存发出程序集
  17.6.2 Reflection.Emit对象模型
 17.7 发出类型成员
  17.7.1 发出方法
  17.7.2 发出字段和属性
  17.7.3 发出构造函数
  17.7.4 关联属性
 17.8 发出泛型方法和类型
  17.8.1 定义泛型方法
  17.8.2 定义泛型类型
 17.9 笨拙的发出目标
  17.9.1 未创建的封闭泛型
  17.9.2 循环依赖
 17.10 分析IL
  17.10.1 编写反汇编程序

第18章 安全性
 18.1 权限集(Permissions)
   18.1.1.1 IPermission
  18.1.2 PermissionSet
  18.1.3强制安全性与声明安全性
 18.2 代码访问安全性
  18.2.1 CLR怎样分配权限
 18.3 在沙箱中运行
  18.3.1 可选权限
  18.3.2 SecurityAction.RequestOptional
 18.4 沙箱另一个程序集
  18.4.1 链接请求和部分受信任调用者
  18.4.2 断言
 18.5 操作系统安全性
  18.5.1 在标准用户帐号下运行
  18.5.2 管理提升和虚拟化
 18.6 身份和角色安全性
  18.6.1 分配用户和角色
 18.7 加密综述
 18.8 Windows数据保护
 18.9 哈希法
 18.10 对称加密
  18.10.1 内存加密
  18.10.2 链接加密流
  18.10.3 处置加密对象
  18.10.4 密钥管理
 18.11 公钥加密和签名
  18.11.1 RSA类
  18.11.2 数字签名

第19章 线程处理
 19.1 线程处理的使用和误用
 19.2 多线程处理入门
  19.2.1 传递数据给一个线程
  19.2.2 线程之间共享数据
  19.2.3 线程池
   19.2.3.1 优化线程池
  19.2.4 前台和后台线程
  19.2.5 线程优先级
  19.2.6 异常处理
 19.3异步委托(Asynchronous Delegates)
 19.4 同步(Synchronization)
  19.4.1 阻塞
  19.4.2 Blocking 与Spinning
   19.4.2.1 SpinWait
 19.5锁定
  19.5.1 选择同步对象
  19.5.2 嵌套锁定
  19.5.3 什么时候锁定
  19.5.4 锁定和不可分割性
  19.5.5 性能、争用和死锁
  19.5.6 互斥锁(Mutex)
  19.5.7 信号(Semaphore)
 19.6 线程安全
  19.6.1 线程安全和.NET Framework类型
   19.6.1.1 锁包装线程安全对象
   19.6.1.2 静态方法
  19.6.2 应用程序服务器上的线程安全性
 19.7 非阻塞同步
  19.7.1 不可分割性和互锁
  19.7.2 内存屏障和可变性
 19.8 使用事件等待句柄发信号
  19.8.1 创建和处置等待句柄
  19.8.2 双向发送信号
  19.8.3 创建一个交叉进程的EventWaitHandle
  19.8.4 池化等待句柄
  19.8.5 WaitAny, WaitAll, 和SignalAndWait
 19.9 使用Wait和Pulse发送信号
  19.9.1 怎样使用Wait和Pulse
  19.9.2 生产者/消费者队列
  19.9.3 等待超时
  19.9.4 双向发信号
  19.9.5 模拟等待句柄
 19.10 中断和中止
  19.10.1 中断
  19.10.2 中止
  19.10.3 安全的取消
 19.11 局部存储
 19.12 BackgroundWorker
  19.12.1 Subclassing BackgroundWorker
 19.13 ReaderWriterLockSlim
  19.13.1 可升级的锁和递归
   10.13.1.1 锁递归
 19.14 Timers
  19.14.1 多线程计时器
  19.14.2 单线程计时器

第20章.匿名方法
 20.1 为什么匿名方法存在
 20.2 匿名方法签名
 20.3匿名方法对比匿名委托
 20.4 使用匿名方法
 20.5 编写匿名方法
 20.6 假的匿名方法
 20.7 匿名方法的可选项
 20.8 匿名事件

第21章 应用程序域
 21.1 应用程序域体系结构
 21.2 创建和消灭应用程序域
 21.3 使用多个应用程序域
 21.4 使用DoCallBack
 21.5 域和线程
 21.6 在域间共享数据
  21.6.1 通过槽共享数据
  21.6.2 进程内远程
  21.6.3 独立类型和程序集
   21.6.3.1 类型发现

第22章 与本地DLL集成
 22.1 调用进DLL
 22.2 封送处理公共类型
 22.3 封送处理类和结构体
 22.4 In和Out 封送处理
 22.5 从未托管代码回调
 22.6 模拟一个C联合体
 22.7 共享的内存
 22.8 映射结构体到未托管内存
 22.9 Interop属性引用
  22.9.1 DllImport属性
  22.9.2 StructLayout属性
  22.9.3 FieldOffset属性
  22.9.4 MarshalAs属性
   22.9.4.1 UnmanagedType成员

第23章 诊断
 23.1 有条件的编译
  23.1.1 有条件的编译与静态变量标记
  23.1.2有条件的属性
   23.1.2.1 对于Conditional属性的另一选择
 23.2 Debug和Trace类
  23.2.1 TraceListener
  23.2.2 清除和关闭监听器
 23.3 调试器集成
  23.3.1 Attaching和Breaking
  23.3.2 调试器属性
 23.4 进程和进程线程
  23.4.1 检查运行进程
  23.4.2 检查一个进程中的线程
 23.5 StackTrace和StackFrame
 23.6 Windows事件日志
  23.6.1 写入事件日志
  23.6.2 读事件日志
  23.6.3 监视事件日志
 23.7 性能计数器
  23.7.1 列举可使用的计数器
  23.7.2 读性能计数器数据
  23.7.3 创建计数器和写性能数据
 23.8 Stopwatch类

第24章 正则表达式
 24.1 正则表达式基础
  24.1.1 编译正则表达式
  24.1.2. RegexOptions
  24.1.3 字符转义
  24.1.4 字符集合
 24.2 限定符
  24.2.1 贪婪与懒惰限定符
 24.3 零宽度断言
  24.3.2 锚
  24.3.3 单词界限
 24.4 分组
  24.4.1 指定组
 24.5 替换和分离文本
  24.5.1 MatchEvaluator委托
  24.5.2 分解文本
 24.6 正则表达式食谱
  24.6.1 配方
   24.6.1.1 匹配美国社会安全号码/电话号码
   24.6.1.2 提取“名字=值”对(每行一个)
   24.6.1.3 强密码确认
   24.6.1.4 至少80字符的行
   24.6.1.5 分解日期/时间(N/N/N H:M:S AM/PM)
   24.6.1.6 匹配罗马数字
   24.6.1.7 移除重复单词
   24.6.1.8 单词计数
   24.6.1.9 匹配一个Guid
   24.6.1.10 分解一个XML标签
   24.6.1.11 分离一个骆驼状的单词
   24.6.1.12 获取一个合法文件名
   24.6.1.13 为HTML转义Unicode字符
 24.7 正则表达式语言参考



  • 您或许也喜欢以下物品:
  •  
  • 您或许喜欢浏览这些文章:


  • 网友留言(1条):
  • 2009-8-21 21:09:01
    sky: 这本是不是C# in a nutshell?