轻松学C#-图解版

出版时间:2013-6  出版社:电子工业出版社  作者:谷涛,扶晓,毕国锋  

内容概要

本书由浅入深,全面、系统地介绍了C#程序设计。除了详细地讲解C#知识点外,本书还提供了大量的实例,供读者实战演练。
本书共分三篇。第一篇是C#概述篇,主要介绍的是Visual Studio 2012的开发环境及搭建。第二篇是面向对象基础篇,主要介绍类、对象、字段、方法、流程控制、数组、继承、属性、运算符重载、接口等C#基本内容。第三篇是应用技术篇,主要介绍的是异常处理、文件和流、委托、事件、Lambda表达式、命名空间、预处理器、程序集、运行时类型标识、反射、特性、泛型、LINQ和数据库开发等。
本书涉及面广,从基本操作到高级技术和核心原理,几乎涉及C#开发的所有重要知识。本书适合所有想全面学习C#开发技术的人员阅读,也适合使用C#进行开发的工程技术人员使用。对于经常使用C#做开发的人员,本书更是一本不可多得的案头必备参考书。

书籍目录

第一篇C#概述篇 第1章C#入门2 1.1C#概述2 1.1.1C#的发展2 1.1.2C#开发的基础2 1.2搭建开发环境3 1.2.1VisualStudio2012软硬件配置要求3 1.2.2下载VisualStudio20123 1.2.3安装VisualStudio20124 1.2.4初始化配置7 1.3第一个程序—HelloWorld8 1.4小结11 1.5习题12 第二篇面向对象基础篇 第2章类和对象16 2.1分析HelloWorld程序16 2.2语法规范17 2.2.1标识符17 2.2.2关键字18 2.2.3注释19 2.3定义类20 2.4实例化对象20 2.5小结20 2.6习题21 第3章定义类——字段23 3.1数据类型23 3.1.1简单值类型23 3.1.2值的表示——字面量26 3.1.3转义序列27 3.2定义字段27 3.2.1定义字段28 3.2.2静态字段和实例字段的访问28 3.2.3字段初始化29 3.2.4字段的动态赋值——Read()和ReadLine()31 3.2.5字段输出31 3.2.6格式化输出32 3.2.7数据类型转换39 3.2.8只读字段41 3.2.9访问控制41 3.3运算符43 3.3.1算术运算符43 3.3.2自增、自减运算符44 3.3.3复合赋值运算符45 3.3.4位运算符46 3.3.5sizeof运算符47 3.3.6运算符的优先级47 3.4小结49 3.5习题49 第4章定义类——方法51 4.1方法的概述51 4.1.1定义方法51 4.1.2方法的调用52 4.2方法体的构成53 4.2.1局部变量53 4.2.2局部变量与字段同名的解决——this关键字54 4.2.3语句55 4.2.4全局变量55 4.3返回值56 4.3.1返回值类型56 4.3.2从方法返回57 4.4参数58 4.4.1参数的分类58 4.4.2引用参数(ref参数)59 4.4.3输出参数(out参数)61 4.5特殊的方法62 4.5.1Main()方法62 4.5.2构造函数62 4.5.3带参数的构造函数63 4.5.4析构函数64 4.6小结65 4.7习题65 第5章流程控制69 5.1选择执行——条件70 5.1.1条件真假——布尔类型的转化70 5.1.2关系运算71 5.1.3逻辑运算71 5.2选择语句73 5.2.1问号运算符73 5.2.2if语句74 5.2.3if 5.2.4if 5.2.5switch语句77 5.3循环语句80 5.3.1while语句80 5.3.2do—while语句81 5.3.3for语句82 5.3.4foreach语句85 5.4跳转语句85 5.4.1break语句85 5.4.2continue语句86 5.4.3goto语句86 5.5小结87 5.6习题87 第6章数组91 6.1初识数组91 6.2基本数组92 6.2.1声明数组92 6.2.2数组的初始化92 6.2.3数组引用93 6.2.4数组的赋值94 6.2.5遍历数组95 6.3特殊数组96 6.3.1多维数组96 6.3.2交错数组100 6.4对数组的使用101 6.4.1数组作为方法参数102 6.4.2类中的数组105 6.5对数组的操作106 6.5.1清空数组106 6.5.2创建数组副本107 6.5.3复制一部分元素给另一数组107 6.5.4将当前一维数组的所有元素赋值到指定的一维数组中108 6.5.5获取某个元素的值109 6.5.6获取元素的索引值109 6.5.7获取某元素最后匹配项的索引110 6.5.8反转一维数组中的元素顺序110 6.5.9为数组中的某个元素重新赋值111 6.5.10对数组元素进行重新排序112 6.6小结112 6.7习题113 第7章继承115 7.1C#的继承机制115 7.1.1概述115 7.1.2初识继承116 7.2访问修饰符118 7.3成员继承121 7.3.1使用继承字段121 7.3.2使用方法121 7.3.3派生类直接访问基类成员——base122 7.3.4继承中的构造函数123 7.4多态124 7.5抽象128 7.5.1抽象类、抽象方法的声明129 7.5.2抽象类的使用129 7.5.3抽象方法的使用130 7.6密封132 7.6.1密封类132 7.6.2密封方法133 7.7小结134 7.8习题135 第8章属性139 8.1属性初识139 8.1.1属性声明139 8.1.2属性访问140 8.1.3访问器141 8.1.4属性分类145 8.2属性使用146 8.2.1属性继承146 8.2.2对访问器使用访问修饰符148 8.2.3自动实现属性149 8.2.4对属性使用对象初始化器150 8.3索引器151 8.3.1索引器的声明151 8.3.2一维索引器的使用152 8.3.3重载索引器153 8.3.4比较属性和索引器153 8.3.5比较索引器和数组154 8.4小结154 8.5习题154 第9章运算符重载158 9.1什么是运算符重载158 9.2如何进行运算符重载158 9.2.1一元运算符重载159 9.2.2二元运算符重载162 9.3关系运算符重载163 9.4重载true和false165 9.5逻辑运算符重载167 9.5.1逻辑运算符重载的简单方式167 9.5.2使用短路运算符169 9.6转换运算符171 9.7注意问题173 9.7.1重载后运算符的优先级173 9.7.2不能重载的运算符174 9.8小结175 9.9习题175 第10章接口178 10.1接口的概念178 10.1.1接口组成178 10.1.2接口声明178 10.1.3接口的实现179 10.2接口方法的使用182 10.3接口属性183 10.4接口索引器185 10.5接口继承187 10.5.1多重继承187 10.5.2接口继承引起的名称隐藏189 10.6显式实现接口190 10.7小结194 10.8习题194 第三篇应用技术篇 第11章异常处理200 11.1异常处理的基础200 11.1.1什么是异常200 11.1.2未捕获异常的后果200 11.1.3常用异常201 11.1.4异常处理201 11.1.5使用try和catch关键字201 11.2处理异常204 11.2.1使用异常处理错误204 11.2.2使用多条catch语句205 11.2.3嵌套try块206 11.2.4抛出异常207 11.2.5重新抛出异常208 11.2.6finally语句210 11.3自定义异常类212 11.4checked和unchecked关键字214 11.4.1checked214 11.4.2unchecked214 11.5小结217 11.6习题217 第12章文件和流221 12.1System.IO类221 12.2文件类File222 12.2.1文件的创建和打开222 12.2.2判断文件是否存在224 12.2.3复制文件225 12.2.4删除文件226 12.2.5文件的加密和解密227 12.2.6文件读取228 12.3文件夹类Directory229 12.3.1创建文件夹229 12.3.2删除文件夹230 12.3.3获取文件夹231 12.4文件信息类FileInfo232 12.5文件夹信息类DirectoryInfo233 12.6流234 12.7文件流类FileStream235 12.7.1FileStream文件流类的创建235 12.7.2获取和设置文件流属性信息236 12.8流写入类StreamWriter237 12.9流读取类StreamReader238 12.9.1创建StreamReader239 12.9.2读取字符或字符块到指定的变量240 12.10二进制流写入类BinaryWriter241 12.11二进制流读取类BinaryReader242 12.12小结244 12.13习题244 第13章委托、事件和Lambda表达式247 13.1委托247 13.1.1声明委托247 13.1.2创建委托247 13.1.3多播委托249 13.1.4逆变和协变251 13.2事件253 13.2.1声明事件253 13.2.2订阅事件254 13.2.3取消订阅事件255 13.2.4引发事件255 13.2.5使用事件255 13.3匿名函数257 13.3.1匿名方法257 13.3.2给匿名方法传递参数258 13.3.3从匿名方法中返回值259 13.4Lambda表达式260 13.4.1Lambda运算符和Lambda表达式261 13.4.2Lambda表达式的形式263 13.4.3语句Lambda263 13.5小结265 13.6习题265 第14章命名空间、预处理器和程序集269 14.1命名空间269 14.1.1命名空间的声明269 14.1.2命名空间的作用272 14.1.3using指令273 14.1.4using指令的另一种形式275 14.1.5命名空间的合成277 14.1.6嵌套命名空间278 14.1.7全局命名空间280 14.1.8使用命名空间别名限定符(::)280 14.2预处理器281 14.2.1#define281 14.2.2#if和#endif282 14.2.3#else和#elif284 14.2.4#undef287 14.2.5#error287 14.2.6#warning288 14.2.7#line289 14.2.8#region和#endregion289 14.2.9#pragma290 14.3程序集291 14.4小结292 14.5习题293 第15章运行时类型标识、反射和特性297 15.1运行时类型标识297 15.1.1is运算符测试类型297 15.1.2as运算符299 15.1.3typeof运算符300 15.2反射301 15.2.1System.Type301 15.2.2使用反射获取方法的相关信息302 15.2.3使用反射调用方法306 15.2.4使用反射获取Type对象的构造函数308 15.2.5使用反射从程序集获得类型308 15.3特性311 15.3.1创建特性311 15.3.2连接特性313 15.3.3获取对象的特性313 15.3.43个内置特性316 15.4小结319 15.5习题319 第16章泛型327 16.1泛型简介327 16.2类型约束328 16.2.1基类约束329 16.2.2接口约束330 16.2.3new()构造函数约束331 16.2.4引用类型约束和值类型约束332 16.2.5使用约束建立两个类型形参之间的关系334 16.2.6使用多个约束335 16.3泛型结构336 16.4泛型方法337 16.5泛型委托338 16.6泛型接口339 16.7泛型类的层次结构341 16.8使用泛型的限制343 16.9小结343 16.10习题343 第17章LINQ349 17.1LINQ的基础知识349 17.1.1简单查询349 17.1.2多次执行查询351 17.2查询表达式中使用的上下文关键352 17.2.1使用where子句筛选值352 17.2.2使用orderby子句排序结果354 17.2.3select子句358 17.2.4使用嵌套的from子句364 17.2.5使用group子句分组结果365 17.2.6使用into子句创建延续366 17.2.7在查询中使用let子句创建变量367 17.2.8使用join子句连接两个序列368 17.3匿名类型370 17.4创建组连接372 17.5查询方法374 17.5.1使用查询方法创建查询374 17.5.2查询语法与查询方法的对比376 17.6延期执行查询和立即执行查询376 17.7表达式树376 17.8扩展方法378 17.9小结379 17.10习题379 第18章数据库开发385 18.1常用数据库385 18.1.1Oracle数据库385 18.1.2Access数据库385 18.1.3SQLServer数据库386 18.2.NET下的数据库连接方式386 18.2.1通过连接字符串连接Access数据库386 18.2.2通过连接字符串连接SQLServer数据库387 18.2.3通过控件连接数据库389 18.3SQL语句391 18.3.1select语句391 18.3.2where语句393 18.3.3orderby语句395 18.3.4insertinto语句397 18.3.5delete语句399 18.3.6update语句401 18.4小结403 18.5习题403

章节摘录

版权页:   插图:    一个类从另一个类派生出来,派生类从基类那里继承特性。派生类也可以作为其他类的基类,但是C#中规定,派生类只能从一个类中继承,如图7.2所示。 从上述程序可以看出,后来定义的man类就省了好多麻烦,因为不需要重复定义年龄和体重等字段,这就达到了继承的初衷:代码重用。 7.1.2初识继承 谈到继承就肯定会涉及基类和派生类。我们首先需要了解派生类的声明格式、类中可继承的成员,最后还会给大家小结一下继承的规则。 1.派生类的声明 派生类的声明格式及举例如图7.3所示。 如同继承最大的好处是代码重用一样,派生类声明后即可继承基类的特性,同时还可以根据需要定义自己的特性。 【示例7.2】以下代码演示的是派生类的声明方式。 【示例14—1】创建一个名为Coun的命名空间,它把一个实现简单倒计时计数器功能的CounDow类限制在该命名空间中。 (1)新建项目。 (2)右击“解决方案资源管理器”面板空白处,在弹出的快捷菜单中选择“添加”|“类”命令,弹出“添加新项,名称空间的声明示例”对话框,如图14.2所示。

编辑推荐

《轻松学C#(图解版)》由浅入深,全面、系统地介绍了C#程序设计。除了详细地讲解C#知识点外,《轻松学C#(图解版)》还提供了大量的实例,供读者实战演练。

图书封面

评论、评分、阅读与下载


    轻松学C#-图解版 PDF格式下载


用户评论 (总计2条)

 
 

  •   第一,这本书里视频里讲解,照本宣科,讲师,英语差的很,简单的26个英文字母都没有读标准,更别说,有的单词不会读。第二,本中有一面代码竟然活生生的没有了,还有一面,代码竟然字体变成莫明其妙的字体,看都没办法看,无语。强烈建议出书的人好好审核下。
  •   看起来很轻松,适合我这种刚开始学编程的,看到200多页了,代码都测试通过,感谢作者
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7