Visual C# 2012从入门到精通


Visual C# 2012从入门到精通

文章插图
Visual C# 2012从入门到精通【Visual C# 2012从入门到精通】《Visual C# 2012从入门到精通》是2013年清华大学出版社出版的图书,作者是John Sharp 。
图书详细信息ISBN:9787302345091定价:98元印次:1-1装帧:平装印刷日期:2013-12-9图书简介C#作为微软的旗舰程式语言,深受程式设计师喜爱,是编写高效应用程式的首选语言 。Visual C# 2012提供了大量新功能,本书围绕语言的基础知识和这些新功能全面介绍了如何利用Visual Studio 2012和.NET Framework 4.5编写C#应用程式 。书中沿袭深受读者欢迎的Step by Step风格,通过合理的练习引导读者逐步构建在Windows 7和Windows 8上运行的应用程式,访问SQL Server资料库,开发多执行绪套用等 。全书共27章,结构清晰,叙述清楚 。所有练习均在Visual Studio 2012简体中文版上进行过全面演练 。无论是刚开始接触面向对象编程的新手,还是打算转移到C#的具有C、C++或者Java基础的程式设计师,都可以从本书汲取到新的知识,迅速掌握C#编程技术 。目录第I部分VisualC#和VisualStudio2012概述第1章欢迎进入C#编程世界 31.1开始在VisualStudio2012环境中编程 31.2编写第一个程式 71.3使用命名空间 111.4创建图形应用程式 141.4.1探索WindowsStore套用程式 231.4.2探索WPF应用程式 261.4.3向图形应用程式添加代码 28小结 30第1章快速参考 30第2章使用变数、操作符和表达式 322.1理解语句 322.2使用标识符 332.3使用变数 342.3.1命名变数 342.3.2声明变数 352.4使用基元数据类型 352.4.1未赋值的局部变数 362.4.2显示基元数据类型的值 362.5使用算术操作符 422.5.1操作符和类型 422.5.2深入了解算术操作符 442.5.3控制优先权 492.5.4使用结合性对表达式进行求值 492.5.5结合性和赋值操作符 502.6变数递增和递减 51前缀和后缀 512.7声明隐式类型的局部变数 52小结 53第2章快速参考 53第3章方法和作用域 543.1创建方法 543.1.1声明方法 543.1.2从方法返回数据 553.1.3调用方法 573.2使用作用域 593.2.1定义局部作用域 603.2.2定义类作用域 603.2.3重载方法 613.3编写方法 623.4使用可选参数和具名参数 683.4.1定义可选参数 703.4.2传递具名参数 703.4.3消除可选参数和具名参数的歧义 71小结 75第3章快速参考 75第4章使用判断语句 774.1声明布尔变数 774.2使用布尔操作符 774.2.1理解相等和关係操作符 784.2.2理解条件逻辑操作符 784.2.3短路求值 794.2.4操作符的优先权和结合性总结 794.3使用if语句做出判断 804.3.1理解if语句的语法 804.3.2使用代码块分组语句 814.3.3嵌套if语句 824.4使用switch语句 874.4.1理解switch语句的语法 884.4.2遵守switch语句的规则 89小结 92第4章快速参考 92第5章使用複合赋值和循环语句 945.1使用複合赋值操作符 945.2使用while语句 955.3编写for语句 1005.4编写do语句 102小结 109第5章快速参考 109第6章管理错误和异常 1116.1处理错误 1116.2尝试执行代码和捕捉异常 1116.2.1未处理的异常 1136.2.2使用多个catch处理程式 1136.2.3捕捉多个异常 1146.2.4传播异常 1196.3使用checked和unchecked整数运算 1216.3.1编写checked语句 1226.3.2编写checked表达式 1226.4引发异常 1256.5使用finally块 129小结 130第6章快速参考 131第II部分理解C#对象模型第7章创建并管理类和对象 1357.1理解分类 1357.2封装的目的 1357.3定义并使用类 1367.4控制可访问性 1377.4.1使用构造器 1387.4.2重载构造器 1397.5理解静态方法和数据 1467.5.1创建共享栏位 1477.5.2使用const关键字创建静态栏位 1487.5.3静态类 1487.5.4匿名类 150小结 151第7章快速参考 152第8章理解值和引用 1548.1複製值类型的变数和类 1548.2理解null值和可空类型 1598.2.1使用可空类型 1608.2.2理解可空类型的属性 1618.3使用ref和out参数 1628.3.1创建ref参数 1628.3.2创建out参数 1638.4计算机记忆体的组织方式 165 8.5System.Object类 1678.6装箱 1688.7拆箱 1688.8数据类型的安全转换 1708.8.1is操作符 1708.8.2as操作符 170小结 172第8章快速参考 173第9章使用枚举和结构创建值类型 1759.1使用枚举 1759.1.1声明枚举 1759.1.2使用枚举 1759.1.3选择枚举文字常量值 1769.1.4选择枚举的基本类型 1779.2使用结构 1799.2.1声明结构 1819.2.2理解结构和类的区别 1829.2.3声明结构变数 1839.2.4理解结构的初始化 1849.2.5複製结构变数 187小结 191第9章快速参考 191第10章使用数组 19210.1声明和创建数组 19210.1.1声明数组变数 19210.1.2创建数组实例 19310.1.3填充和使用数组 19410.1.4创建隐式类型的数组 19410.1.5访问单独的数组元素 19510.1.6遍历数组 19610.1.7数组作为方法参数和返回值传递 19710.1.8複製数组 19810.1.9使用多维数组 20010.1.10创建交错数组 200小结 210第10章快速参考 210第11章理解参数数组 21211.1回顾重载 21211.2使用数组参数 21311.2.1声明参数数组 21411.2.2使用paramsobject[] 21611.2.3使用参数数组 21711.3比较参数数组和可选参数 220小结 222第11章快速参考 222第12章使用继承 22312.1什幺是继承 22312.2使用继承 22412.2.1複习System.Object类 22512.2.2调用基类构造器 22612.2.3类的赋值 22712.2.4声明新方法 22812.2.5声明虚方法 22912.2.6声明重写方法 23012.2.7理解受保护的访问 23312.3理解扩展方法 239小结 242第12章快速参考 243第13章创建接口和定义抽象类 24513.1理解接口 24513.1.1定义接口 24613.1.2实现接口 24613.1.3通过接口来引用类 24813.1.4使用多个接口 24813.1.5显式实现接口 24913.1.6接口的限制 25113.1.7定义和使用接口 25113.2抽象类 26013.3密封类 26213.3.1密封方法 26213.3.2实现并使用抽象类 263小结 268 第13章快速参考 269第14章使用垃圾回收和资源管理 27114.1对象的生存期 27114.1.1编写析构器 27214.1.2为什幺要使用垃圾回收器 27314.1.3垃圾回收器的工作原理 27514.1.4慎用析构器 27514.2资源管理 27614.2.1资源清理方法 27614.2.2异常安全的资源清理 27614.2.3using语句和IDisposable接口 27714.2.4从析构器中调用Dispose方法 27914.3实现异常安全的资源清理 281小结 287第14章快速参考 288第III部分用C#定义可扩展类型第15章实现属性以访问栏位 29315.1使用方法实现封装 29315.2什幺是属性 29515.2.1使用属性 29715.2.2只读属性 29715.2.3只写属性 29815.2.4属性的可访问性 29815.3理解属性的局限性 29915.4在接口中声明属性 30015.5生成自动属性 30515.6使用属性来初始化对象 307小结 311第15章快速参考 311第16章使用索引器 31316.1什幺是索引器 31316.1.1不用索引器的例子 31316.1.2使用索引器的同一个例子 31516.1.3理解索引器的访问器 31716.1.4对比索引器和数组 31716.2接口中的索引器 32016.3在Windows应用程式中使用索引器 321小结 326第16章快速参考 327第17章泛型概述 32817.1object的问题 32817.2泛型解决方案 33117.2.1对比泛型类与常规类 33317.2.2泛型和约束 33417.3创建泛型类 33417.3.1二叉树理论 33417.3.2使用泛型构造二叉树类 33717.4创建泛型方法 34517.5可变性和泛型接口 34817.5.1协变接口 35017.5.2逆变接口 351小结 353第17章快速参考 354第18章使用集合 35518.1什幺是集合类 35518.1.1List<T>集合类 35618.1.2LinkedList<T>集合类 35818.1.3Queue<T>集合类 36018.1.4Stack<T>集合类 36118.1.5Dictionary<TKey,TValue> 集合类 36218.1.6SortedList<TKey,TValue>集合类 36318.1.7HashSet<T>集合类 36418.2使用集合初始化器 36618.3Find方法、谓词和Lambda表达式 36618.4比较数组和集合 368小结 372第18章快速参考 373第19章枚举集合 37519.1枚举集合中的元素 37519.1.1手动实现枚举器 37619.1.2实现IEnumerable接口 38019.2使用叠代器来实现枚举器 38219.2.1一个简单的叠代器 38219.2.2使用叠代器为Tree<TItem>类定义枚举器 384小结 386第19章快速参考 386第20章分离应用程式逻辑并处理事件 38820.1理解委託 38820.1.1.NETFramework类库的委託例子 38920.1.2自动化工厂的例子 39120.1.3不使用委託来实现工厂 39120.1.4使用委託来实现工厂 39220.1.5声明和使用委託 39420.2Lambda表达式和委託 40220.2.1创建方法适配器 40220.2.2Lambda表达式的形式 40320.3启用事件通知 40420.3.1声明事件 40520.3.2订阅事件 40620.3.3取消订阅事件 40620.3.4引发事件 40620.4理解用户界面事件 407小结 414第20章快速参考 415第21章使用查询表达式来查询记忆体中的数据 41821.1什幺是语言集成查询 41821.2在C#应用程式中使用LINQ 41921.2.1选择数据 42021.2.2筛选数据 42321.2.3排序、分组和聚合数据 42321.2.4联接数据 42521.2.5使用查询操作符 42621.2.6查询Tree<TItem>对象中的数据 42921.2.7LINQ和推迟求值 434小结 438第21章快速参考 438第22章操作符重载 44022.1理解操作符 44022.1.1操作符的限制 44022.1.2重载的操作符 44122.1.3创建对称操作符 44222.2理解複合赋值 44422.3声明递增和递减操作符 44522.4比较结构和类中的操作符 44622.5定义成对的操作符 44722.6实现操作符 448 22.7理解转换操作符 45322.7.1提供内建转换 45422.7.2实现用户自定义的转换操作符 45422.7.3再论创建对称操作符 45522.7.4添加隐式转换操作符 456小结 458第22章快速参考 459第IV部分使用C#构建Windows8专业套用第23章使用任务提高吞吐量 46323.1使用并行处理来执行多任务处理 463多核处理器的崛起 46423.2用.NETFramework实现多任务处理 46523.2.1任务、执行绪和执行绪池 46623.2.2创建、运行和控制任务 46723.2.3使用Task类实现并行处理 46923.2.4使用Parallel类对任务进行抽象 47823.2.5什幺时候不要使用Parallel类 48223.3取消任务和处理异常 48423.3.1协作式取消的原理 48423.3.2为Canceled和Faulted任务使用延续任务 496小结 496第23章快速参考 497第24章通过异步操作提高回响速度 49924.1实现异步方法 50024.1.1定义异步方法:问题 50024.1.2定义异步方法:解决方案 50224.1.3定义返回值的异步方法 50724.1.4异步方法和WindowsRuntimeAPI 50824.2用PLINQ进行并行数据访问 51024.2.1用PLINQ增强遍历集合时的性能 51124.2.2取消PLINQ查询 51524.3同步对数据的并发访问 51524.3.1锁定数据 51824.3.2用于协调任务的同步基元 51824.3.3取消同步 52124.3.4并发集合类 52124.3.5使用并发集合和锁来实现执行绪安全的数据访问 522小结 531第24章快速参考 531第25章实现WindowsStore套用程式的用户界面 53425.1什幺是WindowsStore套用 53425.2使用空白模板构建WindowsStore套用 53725.2.1实现可伸缩的用户界面 53925.2.2向用户界面套用样式 565小结 573第25章快速参考 573 第26章在WindowsStore应用程式中显示和搜寻数据 57426.1实现Model-View-ViewModel模式 57426.1.1通过数据绑定显示数据 57526.1.2通过数据绑定修改数据 58026.1.3为ComboBox控制项使用数据绑定 58426.1.4创建ViewModel 58626.1.5向ViewModel添加命令 59026.2Windows8契约 60026.2.1实现搜寻契约 60026.2.2导航至所选项 60926.2.3从搜寻超级按钮启动程式 612小结 614第26章快速参考 616第27章在WindowsStore应用程式中访问远程资料库 61827.1从资料库获取数据 61827.1.1创建实体模型 62027.1.2创建和使用数据服务 62427.2插入、更新和删除数据 63527.2.1通过WCFDataService插入、更新和删除 63527.2.2报告错误和更新UI 644小结 651第27章快速参考 652VisualC#2012从入门到精通目录