图灵程序设计丛书:精通C#(第6版)是C#领域久负盛名的经典著作,深入全面地讲解了C#编程语言和。NET平台的核心内容,并结合大量示例剖析相关概念。全书分为八部分:C#和。NET平台、C#核心编程结构、C#面向对象编程、高级C#编程结构、用。NET程序集编程、。NET基础类库、WPF和ASP。NETWebForms。第6版是对第5版的进一步更新和完善,内容涵盖了最先进的。NET编程技术和技巧,并准确呈现出C#编程语言的最新变化和。NET4。5Framework的新特性。

《图灵程序设计丛书:精通C#(第6版)》由微软C#MVPAndrewTroelsen编写,第6版专门针对C#5。0和。NET4。5进行了细致入微的修订,是各层次。NET开发人员的必读之作。

图灵程序设计丛书:精通C#
目录:

第一部分 C#与.NET平台
第1章
.NET之道
1.1
初识.NET平台
1.2
.NET平台构造块(CLR、CTS和CLS)简介
1.2.1
基础类库的作用
11.2.3
托管代码与非托管代码
1.3
其他支持.NET的编程语言
1.4
.NET程序集概览
1.4.1
CIL的作用
1.4.2
.NET类型元数据的作用
1.4.3
程序集清单的作用
1.5
CTS
1.5.1
CTS类类型
1.5.2
CTS接口类型
1.5.3
CTS结构类型
1.5.4
CTS枚举类型
1.5.5
CTS委托类型
1.5.6
CTS类型成员
1.5.7
内建的CTS数据类型
1.6
CLS
1.7
CLR
1.8
程序集/命名空间/类型的区别
1.8.1
Microsoft根命名空间的作用
1.8.2
以编程方式访问命名空间
1.8.3
引用外部程序集
1.9
使用ildasm.exe探索程序集
1.9.1
查看CIL代码
1.9.2
查看类型元数据
1.9.3
查看程序集元数据(即清单)
1.10
.NET的平台无关性
1.11
Windows 8应用程序简介
1.11.1
构建Windows
8应用程序
1.11.2
.NET在Windows
8中的作用
1.12
小结

第2章 构建C#应用程序
2.1
.NET Framework 4.5 SDK的作用
2.2
用csc.exe构建C#应用程序
2.2.1
指定输入输出目标
2.2.2
引用外部程序集
2.2.3
引用多个外部程序集
2.2.4
编译多个源文件
2.2.5
使用C#响应文件
2.3
使用Notepad++构建.NET应用程序
2.4
使用SharpDevelop构建.NET应用程序
2.5
使用Visual C#
Express构建.NET应用程序
2.6
使用Visual
Studio构建.NET应用程序
2.6.1
Visual Studio的独特功能
2.6.2
使用New
Project对话框指向.NET
Framework
2.6.3
解决方案资源管理器
2.6.4
Class View工具
2.6.5
Object Browser工具
2.6.6
集成对代码重构的支持
2.6.7
代码扩展和围绕技术
2.6.8
可视化Class
Designer
2.6.9
集成的.NET Framework 4.5
SDK文档系统
2.7
小结

第二部分 C#核心编程结构
第3章
C#核心编程结构
3.1
一个简单的C#程序
3.1.1
Main方法的其他形式
3.1.2
指定应用程序错误代码
3.1.3
处理命令行参数
3.1.4
使用Visual
Studio指定命令行参数
3.2
有趣的题外话:System.Environment类的其他成员
3.3
System.Console类
3.3.1
使用Console类进行基本的输入和输出
3.3.2
格式化控制台输出
3.3.3
格式化数值数据
3.3.4
在控制台应用程序外格式化数值数据
3.4
系统数据类型和相应的C#关键字
3.4.1
变量声明和初始化
3.4.2
内建数据类型与new操作符
3.4.3
数据类型类的层次结构
3.4.4
数值数据类型的成员
3.4.5
System.Boolean的成员
3.4.6
System.Char的成员
3.4.7
从字符串数据中解析数值
3.4.8
System.DateTime和System.TimeSpan
3.4.9
System.Numerics.dll程序集
3.5
使用字符串数据
3.5.1
基本的字符串操作
3.5.2
字符串拼接
3.5.3
转义字符
3.5.4
定义逐字字符串
3.5.5
字符串和相等性
3.5.6
字符串是不可变的
3.5.7
System.Text.StringBuilder类型
3.6
窄化和宽化数据类型转换
3.6.1
checked关键字
3.6.2
设定项目级别的溢出检测
3.6.3
unchecked关键字
3.7
隐式类型本地变量
3.7.1
隐式类型变量的限制
3.7.2
隐式类型数据是强类型数据
3.7.3
隐式类型本地变量的用途
3.8
C#迭代结构
3.8.1
for循环
3.8.2
foreach循环
3.8.3
while和do/while循环结构
3.9
条件结构和关系/相等操作符
3.9.1
if/else语句
3.9.2
关系/相等操作符
3.9.3
逻辑操作符
3.9.4
switch语句
3.10
小结

第4章 C#核心编程结构
4.1
方法和参数修饰符
4.1.1
默认的参数传递行为
4.1.2
out修饰符
4.1.3
ref修饰符
4.1.4
params修饰符
4.1.5
定义可选参数
4.1.6
使用命名参数调用方法
4.1.7
成员重载
4.2
C#数组
4.2.1
C#数组初始化语法
4.2.2
隐式类型本地数组
4.2.3
定义object数组
4.2.4
使用多维数组
4.2.5
数组作为参数(和返回值)
4.2.6
System.Array基类
4.3
枚举类型
4.3.1
控制枚举的底层存储
4.3.2
声明枚举变量
4.3.3
System.Enum类型
4.3.4
动态获取枚举的名称/值对
4.4
结构类型
4.5
值类型和引用类型
4.5.1
值类型、引用类型和赋值操作符
4.5.2
包含引用类型的值类型
4.5.3
按值传递引用类型
4.5.4
按引用传递引用类型
4.5.5
值类型和引用类型:最后的细节
4.6
C#可空类型
4.6.1
使用可空类型
4.6.2
??操作符
4.7
小结

第三部分 C#面向对象编程
第5章封装
5.1
C#类类型
5.2
构造函数
5.2.1
默认构造函数的作用
5.2.2
定义自定义的构造函数
5.2.3
再谈默认构造函数
5.3
this关键字的作用
5.3.1
使用this进行串联构造函数调用
5.3.2
观察构造函数流程
5.3.3
再谈可选参数
5.4
static关键字
5.4.1
定义静态数据
5.4.2
定义静态方法
5.4.3
定义静态构造函数
5.4.4
定义静态类
5.5
定义OOP的支柱
5.5.1
封装的作用
5.5.2
继承的作用
5.5.3
多态的作用
5.6
C#访问修饰符
5.6.1
默认的访问修饰符
5.6.2
访问修饰符和嵌套类型
5.7
第一个支柱:C#的封装服务
5.7.1
使用传统的访问方法和修改方法执行封装
5.7.2
使用.NET属性进行封装
5.7.3
使用类的属性
5.7.4
只读和只写属性
5.7.5
静态属性
5.8
自动属性
5.8.1
与自动属性交互
5.8.2
关于自动属性和默认值
5.9
对象初始化语法
5.9.1
使用初始化语法调用自定义构造函数
5.9.2
初始化内部类型
5.10
常量数据
5.10.1
只读字段
5.10.2
静态只读字段
5.11
分部类型
5.12
小结

第6章继承和多态
6.1
继承的基本机制
6.1.1
指定既有类的父类
6.1.2
多个基类
6.1.3
sealed关键字
6.2
回顾Visual
Studio类关系图
6.3
OOP的第二个支柱:继承
6.3.1
使用base关键字控制基类的创建
6.3.2
家族的秘密:protected关键字
6.3.3
增加密封类
6.4
包含/委托编程
6.5
OOP的第三个支柱:C#的多态支持
6.5.1
virtual和override关键字
6.5.2
使用Visual Studio
IDE重写虚方法
6.5.3
密封虚成员
6.5.4
抽象类
6.5.5
构建多态接口
6.5.6
成员投影
6.6
基类/派生类的转换规则
6.6.1
C#的as关键字
6.6.2
C#的is关键字
6.7
超级父类:System.Object
6.7.1
重写System.Object.ToString
6.7.2
重写System.Object.Equals
6.7.3
重写System.Object.GetHashCode
6.7.4
测试修改后的Person类
6.7.5
System.Object的静态成员
6.8
小结

第7章结构化异常处理
7.1
错误、bug与异常
7.2
.NET异常处理的作用
7.2.1
.NET异常处理的四要素
7.2.2
System.Exception基类
7.3
最简单的例子
7.3.1
引发普通的异常
7.3.2
捕获异常
7.4
配置异常的状态
7.4.1
TargetSite属性
7.4.2
StackTrace属性
7.4.3
HelpLink属性
7.4.4
Data属性
7.5
系统级异常
7.6
应用程序级异常
7.6.1
构建自定义异常,第一部分
7.6.2
构建自定义异常,第二部分
7.6.3
构建自定义异常,第三部分
7.7
处理多个异常
7.7.1
通用的catch语句
7.7.2
再次引发异常
7.7.3
内部异常
7.7.4
finally块
7.8
谁在引发什么异常
7.9
未处理异常的后果
7.10
使用Visual
Studio调试未处理的异常
7.11
小结

第8章接口
8.1
接口类型
8.2
定义自定义接口
8.3
实现接口
8.4
在对象级别调用接口成员
8.4.1
获取接口引用:as关键字
8.4.2
获取接口引用:is关键字
8.5
接口作为参数
8.6
接口作为返回值
8.7
接口类型数组
8.8
使用Visual
Studio实现接口
8.9
显式接口实现
8.10
设计接口层次结构
8.11
构建可枚举类型(IEnumerable和IEnumerator)
8.11.1
用yield关键字构建迭代器方法
8.11.2
构建命名迭代器
8.12
构建可克隆的对象(ICloneable)
8.13
构建可比较的对象(IComparable)
8.13.1
指定多个排序顺序
8.13.2
自定义属性、自定义排序类型
8.14
小结

第四部分 高级C#编程结构
第9章集合与泛型
9.1
集合类的动机
9.1.1
System.Collections命名空间
9.1.2
System.Collections.Specialized命名空间
9.2
非泛型集合的问题
9.2.1
性能问题
9.2.2
类型安全问题
9.2.3
初识泛型集合
9.3
泛型类型参数的作用
9.3.1
为泛型类/结构指定类型参数
9.3.2
为泛型成员指定类型参数
9.3.3
为泛型接口指定类型参数
9.4
System.Collections.Generic命名空间
9.4.1
集合初始化语法
9.4.2
使用List类
9.4.3
使用Stack类
9.4.4
使用Queue类
9.4.5
使用SortedSet类
9.5
System.Collections.ObjectModel命名空间
9.6
创建自定义泛型方法
9.7
创建自定义泛型结构和类
9.8
类型参数的约束
9.8.1
使用where关键字的示例
9.8.2
操作符约束的不足
9.9
小结

第10章委托、事件和Lambda表达式
10.1
.NET委托类型
10.1.1
在C#中定义委托类型
10.1.2
System.MulticastDelegate与System.Delegate基类
10.2
最简单的委托示例
10.3
使用委托发送对象状态通知
10.3.1
支持多路广播
10.3.2
从委托的调用列表中移除成员
10.3.3
方法组转换语法
10.4
泛型委托
10.5
C#事件
10.5.1
event关键字
10.5.2
揭开事件的神秘面纱
10.5.3
监听传入的事件
10.5.4
使用Visual
Studio简化事件注册
10.5.5
创建自定义的事件参数
10.5.6
泛型EventHandler委托
10.6
C#匿名方法
10.7
Lambda表达式
10.7.1
剖析Lambda表达式
10.7.2
使用多个语句处理参数
10.7.3
含有多个(或零个)参数的Lambda表达式
10.7.4
使用Lambda表达式重新编写CarEvents示例
10.8
小结

第11章 高级C#语言特性
11.1
索引器方法
11.1.1
使用字符串值索引对象
11.1.2
重载索引器方法
11.1.3
多维的索引器
11.1.4
在接口类型上定义索引器
11.2
操作符重载
11.2.1
重载二元操作符
11.2.2
+=与-=操作符
11.2.3
重载一元操作符
11.2.4
重载相等操作符
11.2.5
重载比较操作符
11.2.6
操作符重载的最后思考
11.3
自定义类型转换
11.3.1
回顾:数值转换
11.3.2
回顾:相关的类类型间的转换
11.3.3
创建自定义转换例程
11.3.4
Square类型的其他显式转换
11.3.5
定义隐式转换例程
11.4
扩展方法
11.4.1
定义扩展方法
11.4.2
在实例层次上调用扩展方法
11.4.3
导入扩展方法
11.4.4
扩展方法的智能感知
11.4.5
扩展实现了指定接口的类型
11.5
匿名类型
11.5.1
定义匿名类型
11.5.2
匿名类型的内部表示方式
11.5.3
方法ToString和GetHashCode的实现
11.5.4
匿名类型的相等语义
11.5.5
包含匿名类型的匿名类型
11.6
指针类型
11.6.1
unsafe关键字
11.6.2
*和 操作符
11.6.3
不安全(与安全)交换功能
11.6.4
通过指针访问字段
11.6.5
stackalloc关键字
11.6.6
使用fixed关键字固定类型
11.6.7
sizeof关键字
11.7
小结

第12章 LINQ to Object
12.1
LINQ特有的编程结构
12.1.1
隐式类型本地变量
12.1.2
对象和集合初始化语法
12.1.3
Lambda表达式
12.1.4
扩展方法
12.1.5
匿名类型
12.2
LINQ的作用
12.2.1
LINQ表达式是强类型的
12.2.2
核心LINQ程序集
12.3
将LINQ查询应用于原始数组
12.3.1
再一次,不使用LINQ
12.3.2
反射LINQ结果集
12.3.3
LINQ和隐式类型本地变量
12.3.4
LINQ和扩展方法
12.3.5
延迟执行的作用
12.3.6
立即执行的作用
12.4
返回LINQ查询的结果
12.5
将LINQ查询应用到集合对象
12.5.1
访问包含的子对象
12.5.2
将LINQ查询应用于非泛型集合
12.5.3
使用OfType筛选数据
12.6
C# LINQ查询操作符
12.6.1
基本的选择语法
12.6.2
获取数据子集
12.6.3
投影新数据类型
12.6.4
使用Enumerable获取总数
12.6.5
反转结果集
12.6.6
对表达式进行排序
12.6.7
维恩图工具
12.6.8
移除重复
12.6.9
LINQ聚合操作
12.7
LINQ查询语句的内部表示
12.7.1
用查询操作符建立查询表达式(复习)
12.7.2
使用Enumerable类型和Lambda表达式来建立查询表达式
12.7.3
使用Enumerable类型和匿名方法来建立查询表达式
12.7.4
用Enumerable类型和原始委托建立查询表达式
12.8
小结

第13章对象的生命周期
13.1
类、对象和引用
13.2
对象生命周期的基础
13.2.1
CIL的new指令
13.2.2
将对象引用设置为空
13.3
应用程序根的作用
13.4
对象的代
13.5
.NET 1.0至.NET
3.5的并发垃圾回收
13.6
.NET 4.0及后续版本
13.7
System.GC类型
13.8
构建可终结对象
13.8.1
重写System.Object.Finalize
13.8.2
终结过程的细节
13.9
构建可处置对象
13.10
构建可终结类型和可处置类型
13.11
延迟对象实例化
13.12
小结

...

《精通c#(第6版)》【PDF】下载链接:
https://u253469.ctfile.com/fs/253469-231196334

更多书单和推荐电子书请关注:
http://zhaozhiyong.cn

《精通c#(第6版)》【PDF】下载的更多相关文章

  1. 《决战大数据:驾驭未来商业的利器》【PDF】下载

    内容简介 大数据时代的来临,给当今的商业带来了极大的冲击,多数电商人无不"谈大数据色变",并呈现出一种观望.迷茫.手足无措的状态.车品觉,作为一名经验丰富的电商人,在敬畏大数据的同 ...

  2. 大数据时代的图表可视化利器——highcharts,D3和百度的echarts

    大数据时代的图表可视化利器——highcharts,D3和百度的echarts https://blog.csdn.net/minidrupal/article/details/42153941   ...

  3. 决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试

    决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试 [TOC] Apache ZooKeeper 单机模式安装 创建hadoop用户&赋予sudo权限, ...

  4. 决战大数据之二:CentOS 7 最新JDK 8安装

    决战大数据之二:CentOS 7 最新JDK 8安装 [TOC] 修改hostname # hostnamectl set-hostname node1 --static # reboot now 重 ...

  5. 学习推荐《零起点Python大数据与量化交易》中文PDF+源代码

    学习量化交易推荐学习国内关于Python大数据与量化交易的原创图书<零起点Python大数据与量化交易>. 配合zwPython开发平台和zwQuant开源量化软件学习,是一套完整的大数据 ...

  6. asp.net大数据导出execl实现分开压缩并下载

    asp.net大数据导出execl实现分开压缩并下载 /// <summary> /// 导出数据到EXCEL 多个表的 /// </summary> /// <para ...

  7. 基于Greenplum Hadoop分布式平台的大数据解决方案及商业应用案例剖析

    随着云计算.大数据迅速发展,亟需用hadoop解决大数据量高并发访问的瓶颈.谷歌.淘宝.百度.京东等底层都应用hadoop.越来越多的企 业急需引入hadoop技术人才.由于掌握Hadoop技术的开发 ...

  8. 关于大数据时代传统商业存储的思考: 中心存储 VS 分布式存储

    尊重原创,转载请注明出处:http://anzhan.me ; http://blog.csdn.net/anzhsoft 今天和我们部门的老大1*1, 大家面对面沟通了一下到新的项目组的想法.而且也 ...

  9. cloudera cdh6.3 离线安装 经典大数据平台视频教程(含网盘下载地址)

    cdh6.3企业级大数据视频教程 链接:https://pan.baidu.com/s/1bLGrIwzpFQB-pQRb6KOmNg 提取码:i8h8 系统和软件版本1,操作系统:Centos7.6 ...

  10. 大数据之路week06--day01(VMware的下载与安装、安装CentOS)

    好了,从今天开始就开始正式的进入大数据道路的轨道上了,当然了,Java 也是需要不断地在日后进行反复地学习,熟练掌握.(这里我要说一下,Java种还有一些I/O流.Lambda表达式和一些常用工具类有 ...

随机推荐

  1. TweenMax动画库学习

    之前在做HTML5移动端开发的时候,用的都是Animate.css,这个插件封装的的确很好,但是在做一些缓动方面的动画,它也有一定的不足之处,比如手要写一个连续的动画,需要不停的去重复写函数,使得代码 ...

  2. 五、VueJs 填坑日记之将接口用webpack代理到本地

    上一篇博文,我们已经顺利的从cnodejs.org请求到了数据,但是大家可以注意到我们的/src/api/index.js的第一句就是: // 配置API接口地址 var root = 'https: ...

  3. Python StringIO与BytesIO、类文件对象

    StringIO与BytesIO StringIO与BytesIO.类文件对象的用途,应用场景,优.缺点. StringIO StringIO 是io 模块中的类,在内存中开辟的一个文本模式的buff ...

  4. nodejs+mongoose+websocket搭建xxx聊天室

    简介 本文是由nodejs+mongoose+websocket打造的一个即时聊天系统:本来打算开发一个类似于网页QQ类似功能的聊天系统,但是目前只是开发了一个模块功能 --- 类似群聊的,即一对多的 ...

  5. 多服务器操作利器 - Polysh

    多台服务器下的痛苦人生 分布式架构下的系统,可以说每个服务都是分别部署在多台服务器上的,有的甚至还需要多机房,在这种架构下可以说可以很好的做到了易扩展.容灾等功能.推荐的服务部署为一服务多机器.一机器 ...

  6. EntityFramework For Mysql 动态切换数据源

    1.简介 在工作中遇到一个问题.项目有三个数据库(三个数据库表结构一样),用户可以选择使用哪个数据库.其实就是动态切换数据库连接. 2.EntityFramework For Mysql 先来简单的介 ...

  7. MFC中小笔记

    主要记录下一些有啊没啊的MFC东西. 1.单文档 去掉 无标题:在玩的时候用于FindWindow(class,title) BOOL CMainFrame::PreCreateWindow(CREA ...

  8. Numpy数组对象的操作-索引机制、切片和迭代方法

    前几篇博文我写了数组创建和数据运算,现在我们就来看一下数组对象的操作方法.使用索引和切片的方法选择元素,还有如何数组的迭代方法. 一.索引机制 1.一维数组 In [1]: a = np.arange ...

  9. FreeRTOS--堆内存管理

    因为项目需要,最近开始学习FreeRTOS,一开始有些紧张,因为两个星期之前对于FreeRTOS的熟悉度几乎为零,经过对FreeRTOS官网的例子程序的摸索,和项目中问题的解决,遇到了很多熟悉的身影, ...

  10. java 接口测试

    学习java 时间也不算太长,大学有点基础,学起来也顺手多了,其实我感觉更是因为学习完python之后,在学习别的语言的时候就简单多了,几乎所有的语言学起来都差不多.前几篇写过的都是python接口测 ...