C#图解教程


C#图解教程

文章插图
C#图解教程【C#图解教程】《C#图解教程》以图文并茂的形式,用朴实简洁的文字,并辅之以大量表格和代码示例,精炼而全面地阐述了最新版C#语言的各种特性,使读者能够快速理解、学习和使用C# 。同时,《C#图解教程》还讲解了C#与VB、C++等主流语言的不同点和相似之处 。
基本介绍书名:C#图解教程
作者:(美国)(DanielSolis)索利斯
译者:苏林
ISBN:9787115187734
类别:计算机
页数:445
定价:65元
出版社:人民邮电出版社
出版时间:2009年
装帧:平装
开本:16开
作者简介Daniel Solis 资深软体工程师和技术顾问.有20余年开发经验,曾为微软和IBM等大公司提供技术谘询 。他拥有加州大学计算机科学硕士、生物学和英文学士学位 。同时,他也是一位杰出的导师 。在美国和欧洲从事程式语言、Windows程式设计和Unix底层技术相关的教学培训工作多年 。编辑推荐《C#图解教程》是一本经典的C#入门书,不仅适合没有任何程式语言基础的初级读者,而且还是有VB、C++等语言基础的C#初学者的最佳选择 。用图说话,最易学的C#教程,Amazon全五星盛誉,涵盖VisualC#2008和.NET3.5最新特性 。作为.NET平台上最主要的程式语言,C#在不断地改进和完善,功能越来越强大 。当然,複杂性也随之增加 。令很多初学者不得其门而入 。如何才能让更多人轻鬆地学习和掌握C#呢?《C#图解教程》作者总结了自己数十年软体开发和教学培训经验,创造了一种全新的可视化叙述方式 。在书中,他通过大量图、表和代码,与简洁的文字完美结合,从底层运行原理的角度阐述了最新版C#和NET的所有基本特性,并讲解了LINQ、异步编程和反射等高级特性,使原本非常複杂的知识点变得简单明了、清晰透彻,让人耳目一新,大大降低了学习难度 。阅读《C#图解教程》时,你仿佛置身于课堂 。看着一位经验丰富的老师拿着粉笔画图演示,娓娓道来 。《C#图解教程》原版一经问世.就赢得广泛好评,被誉为C#入门经典着作 。不仅适合自学,也是课堂教学的首选 。目录第1章C#和.NET框架1.1在.NET之前1.1.120世纪90年代后期的Windows编程1.1.2下一代平台的目标1.2进入Microsoft.NET1.2.1.NET框架的组成1.2.2大大改进的编程环境1.3编译成CIL1.4编译成本机代码并执行1.5CLR1.6CLI1.7缩写回顾第2章C#编程概述2.1一个简单的C#程式2.2标识符和关键字2.2.1命名约定2.2.2关键字2.3Main:程式的起始点2.4空白2.5语句2.5.1简单语句2.5.2块2.6从程式中输出文本2.6.1Write2.6.2WriteLine2.6.3格式字元串2.6.4多重标记和值2.7注释2.7.1关于注释的补充2.7.2文档注释2.7.3注释类型总结第3章类型、存储和变数3.1C#程式是一组类型声明3.2类型是一种模板3.3实例化类型3.4数据成员和函式成员3.5预定义类型3.6用户定义类型3.7栈和堆3.7.1栈3.7.2堆3.8值类型和引用类型3.8.1存储引用类型对象的成员3.8.2C#类型的分类3.9变数3.9.1变数声明3.9.2多重变数声明3.9.3使用变数的值第4章类:基础4.1类的概述4.2程式和类:一个快速的示例4.3声明类4.4类成员4.4.1栏位4.4.2显式和隐式栏位初始化4.4.3声明多个栏位4.4.4方法4.5创建变数和类的实例4.6为数据分配记忆体4.7实例成员4.8访问修饰符4.9从类的内部访问成员4.10从类的外部访问成员4.11综合套用第5章方法5.1方法的结构5.2本地变数5.2.1类型推断和var关键字5.2.2嵌套块中的本地变数5.3本地常量5.4方法调用5.5返回值5.6参数5.6.1形参5.6.2实参5.6.3带输入参数的方法示例5.7值参数5.8引用参数5.9输出参数5.10参数数组5.10.1方法调用5.10.2数组作实参5.11参数类型总结5.12栈帧5.13递归5.14方法重载第6章类进阶6.1类成员6.2实例类成员6.3静态栏位6.4从类的外部访问静态成员6.4.1静态栏位示例6.4.2静态成员的生存期6.5静态函式成员6.6其他静态类成员类型6.7成员常量6.8属性6.8.1属性声明和访问器6.8.2属性示例6.8.3使用属性6.8.4属性和关联栏位6.8.5执行其他计算6.8.6只读和只写属性6.8.7计算唯读属性示例6.8.8属性和资料库示例6.8.9自动实现属性6.8.10静态属性6.9实例构造函式6.9.1带参数的构造函式6.9.2默认构造函式6.10静态构造函式6.10.1静态构造函式示例6.10.2构造函式的可访问性6.11对象初始化列表 6.12析构函式6.12.1调用析构函式6.12.2标準清理模式6.13比较构造函式和析构函式6.14readonly修饰符6.15this关键字6.16索引6.16.1什幺是索引6.16.2索引和属性6.16.3声明索引6.16.4set访问器6.16.5get访问器6.16.6关于索引的补充6.16.7为Employee示例声明索引6.16.8另一个索引示例6.16.9索引重载6.17访问器的访问修饰符6.18分部类和分部类型第7章类和继承7.1类继承7.2访问继承的成员7.3隐藏基类的成员7.4基类访问7.5使用基类的引用7.5.1虚方法和覆写方法7.5.2覆写标记为override的方法7.6构造函式的执行7.6.1构造函式初始化语句7.6.2类访问修饰符7.7程式集间的继承7.8成员访问修饰符7.8.1访问成员的区域7.8.2公有成员的可访问性7.8.3私有成员的可访问性7.8.4受保护成员的可访问性7.8.5内部成员的可访问性7.8.6受保护内部成员的可访问性7.8.7成员访问修饰符的总结7.9抽象成员7.10抽象类7.11密封类7.12静态类7.13扩展方法7.14外部方法第8章表达式和运算符8.1表达式8.2字面量8.2.1整数字面量8.2.2实数字面量8.2.3字元字面量8.2.4字元串字面量8.3求值顺序8.3.1优先权8.3.2结合性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.15.1运算符重载的限制8.15.2运算符重载的示例8.16typeof运算符第9章语句9.1什幺是语句9.2表达式语句9.3控制流语句9.4if语句9.5if…else语句9.6switch语句9.6.1分支示例9.6.2switch语句的补充 9.6.3分支标籤9.7while循环9.8do循环9.9for循环9.9.1for语句中变数的有效範围9.9.2初始化语句和叠代表达式中的多表达式9.10跳转语句9.10.1break语句9.10.2continue语句9.11标籤语句9.11.1标籤9.11.2标籤语句的範围9.12goto语句9.13using语句9.13.1资源的包装使用9.13.2using语句的示例9.13.3多个资源和嵌套9.13.4using语句的另一种形式9.14其他语句第10章命名空间和程式集10.1引用其他程式集10.2命名空间10.2.1命名空间名称10.2.2命名空间的补充10.2.3命名空间跨档案伸展10.2.4嵌套命名空间10.3using指令10.3.1using命名空间指令10.3.2using别名指令10.4程式集的结构10.5程式集标识符10.6强命名程式集10.7程式集的私有方式部署10.8共享程式集和GAC10.8.1把程式集安装到GAC10.8.2GAC内的并肩执行10.9配置档案10.10延迟签名第11章异常11.1什幺是异常11.2try语句11.3异常类11.4catch子句11.4.1使用特定catch子句的示例11.4.2catch子句段11.5finally块11.6为异常寻找处理代码11.7更进一步搜寻11.7.1一般法则11.7.2搜寻调用栈的示例11.8抛出异常11.9不带异常对象的抛出第12章结构12.1什幺是结构12.2结构是值类型12.3对结构赋值12.4构造函式和析构函式12.4.1实例构造函式12.4.2静态构造函式12.4.3构造函式和析构函式的总结12.5栏位初始化是不允许的12.6结构是密封的12.7装箱和取消装箱12.8结构作为返回类型和参数12.9关于结构的附加信息第13章枚举13.1枚举13.1.1设定底层类型和显式值13.1.2隐式成员编号13.2位标誌13.2.1Flags特性13.2.2使用位标誌的示例13.3关于枚举的补充第14章数组14.1数组14.1.1定义14.1.2重要细节 14.2数组的类型14.3数组是对象14.4一维数组和矩形数组14.5实例化一维数组或矩形数组14.6访问数组元素14.7初始化数组14.7.1显式初始化一维数组14.7.2显式初始化矩形数组14.7.3初始化矩形数组的语法点14.7.4快捷语法14.7.5隐式类型数组14.7.6综合内容14.8交错数组14.8.1声明交错数组14.8.2快捷实例化14.8.3实例化交错数组14.8.4交错数组中的子数组14.9比较矩形数组和交错数组14.10foreach语句14.10.1叠代变数是唯读的14.10.2foreach语句和多维数组14.11数组协变14.12数组继承的有用成员14.13比较数组类型第15章委託15.1什幺是委託15.2声明委託类型15.3创建委託对象15.4赋值委託15.5组合委託15.6为委託增加方法15.7从委託移除方法15.8调用委託15.9委託的示例15.10调用带返回值的委託15.11调用带引用参数的委託15.12匿名方法15.12.1使用匿名方法15.12.2匿名方法的语法15.12.3变数和参数的作用域15.13Lambda表达式第16章事件16.1事件和委託相似16.2原始码组件概览16.3声明事件16.3.1事件是成员16.3.2委託类型和EventHandler16.4触发事件16.5订阅事件16.6标準事件的用法16.6.1使用EventArgs类16.6.2通过扩展EventArgs来传递数据16.6.3使用自定义委託16.7MyTimerClass代码16.8事件访问器第17章接口17.1什幺是接口17.2声明接口17.3实现接口17.4接口是引用类型17.5接口和as运算符17.6实现多个接口17.7实现具有重複成员的接口17.8多个接口的引用17.9派生成员作为实现17.10显式接口成员实现17.11接口可以继承接口第18章转换18.1什幺是转换18.2隐式转换18.3显式转换和强制转换18.4转换的类型18.5数字的转换18.5.1隐式数字转换18.5.2溢出检测上下文18.5.3显式数字转换18.6引用转换 18.6.1隐式引用转换18.6.2显式引用转换18.6.3有效显式引用转换18.7装箱转换18.8拆箱转换18.9用户自定义转换18.9.1用户自定义转换的约束18.9.2用户自定义转换的示例18.9.3计算用户自定义转换18.9.4多步用户自定义转换的示例18.10is运算符18.11as运算符第19章泛型19.1什幺是泛型19.2C#中的泛型19.3泛型类19.4声明泛型类19.5创建构造类型19.6创建变数和实例19.6.1使用泛型的栈的示例19.6.2比较泛型和非泛型栈19.7类型参数的约束19.7.1Where子句19.7.2约束类型和次序19.8泛型结构19.9泛型接口19.9.1使用泛型接口的示例19.9.2泛型接口的实现必须唯一19.10泛型委託19.11泛型方法19.11.1声明泛型方法19.11.2调用泛型方法19.11.3泛型方法的示例19.12扩展方法和泛型类第20章枚举数和叠代器20.1枚举数和可枚举类型20.1.1使用foreach语句20.1.2枚举数类型20.2使用IEnumerator接口20.3IEnumerable接口20.4不实现接口的枚举数20.5泛型枚举接口20.6IEnumeratorT接口20.7IEnumerableT接口20.8叠代器20.8.1叠代器块20.8.2使用叠代器来创建枚举数20.8.3使用叠代器来创建可枚举类型20.9常见叠代器模式20.10产生可枚举类型和枚举数20.11产生多个可枚举类型20.12产生多个枚举数20.13叠代器实质第21章介绍LINQ21.1什幺是LINQ21.2LINQ提供程式21.3查询语法和方法语法21.4查询变数21.5查询表达式的结构21.5.1from子句21.5.2join子句21.5.3什幺是联结21.5.4查询主体中的from…let…where片段21.5.5orderby子句21.5.6select…group子句21.5.7查询中的匿名类型21.5.8group子句21.5.9查询延续21.6标準查询运算符21.6.1查询表达式和标準查询运算符21.6.2标準查询运算符的签名21.6.3委託作为参数21.6.4LINQ预定义的委託类型21.6.5使用委託参数的示例21.6.6使用Lambda表达式参数的示例 21.7LINQtoXML21.7.1标记语言21.7.2XML基础21.7.3XML类21.7.4使用XML树的值21.7.5使用XML属性21.7.6节点的其他类型21.7.7使用LINQtoXML的LINQ查询第22章异步编程简介22.1进程、执行绪以及异步编程22.1.1多执行绪处理带来的问题22.1.2多执行绪处理的複杂度22.2异步编程模式22.3BeginInvoke和EndInvoke22.3.1等待——直到结束模式22.3.2AsyncResult类22.3.3轮询模式22.3.4回调模式22.4计时器第23章预处理指令23.1什幺是预处理指令23.2基本规则23.3#define和#undef指令23.4条件编译23.5条件编译结构23.6诊断指令23.7行号指令23.8区域指令23.9#pragmawarning指令第24章反射和特性24.1元数据和反射24.2Type类24.3获取Type对象24.4什幺是特性24.5套用特性24.6预定义的保留的特性24.6.1Obsolete特性24.6.2Conditional特性24.6.3预定义的特性24.7有关套用特性的更多内容24.7.1多个特性24.7.2其他类型的目标24.7.3全局特性24.8自定义特性24.8.1声明自定义特性24.8.2使用特性构造函式24.8.3指定构造函式24.8.4使用构造函式24.8.5构造函式中的位置参数和命名参数24.8.6限制特性的使用24.8.7自定义特性的最佳实践24.9访问特性24.9.1使用IsDefined方法24.9.2使用GetCustomAttribute方法第25章其他主题25.1概述25.2字元串25.2.1使用StringBuilder类25.2.2格式化数字字元串25.3把字元串解析为数据值25.4可空类型25.4.1创建可空类型25.4.2为可空类型赋值25.4.3使用可空用户自定义类型25.5Main方法25.6文档注释25.6.1插入文档注释25.6.2使用其他XML标籤25.7嵌套类型25.7.1嵌套类的示例25.7.2可见性和嵌套类型 ……