您好,欢迎来到聚文网。 登录 免费注册
C#开发之道

C#开发之道

  • 字数: 926.41千字
  • 装帧: 平装
  • 出版社: 电子工业出版社
  • 作者: 明日科技
  • 出版日期: 2011-04-01
  • 商品条码: 9787121127113
  • 版次: 1
  • 开本: 16开
  • 页数: 563
  • 出版年份: 2011
定价:¥69 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
《C#开发之道》是一本集编程感悟、技巧、陷阱、谬误、算法和方案为一体的编程书籍,旨在引导读者如何学习编程,帮助读者丰富编程经验。全书分为6篇,共计17章,全面介绍了学习和应用C#进行程序开发的各种陷阱与谬误、技术细节与经验技巧、常用的算法及解决方案。其涉及的技术主要包括面向对象的三要素(封装、继承、多态)、特性(Attribute)、泛型、委托和事件、异常处理、序列化和反序列化、动态操作程序集、ADO.NET对象操作数据库、Lambda表达式、LINQ操作对象、LINQ操作数据集等C#核心技术,另外《C#开发之道》还介绍了线程异步调用、多线程同步、网络通信、GDI+绘制图形、自定义WindowsForm控件等不错应用技术。
《C#开发之道》附带有配套DVD光盘,光盘中提供了书中全部实例和项目的源代码,这些源代码都是经过作者精心调试通过的,保证能够在WindowsXP、Windows2003及Windows7操作系统下编译和运行。
《C#开发之道》很好适合大中专院校在校生和毕业生、求职者、编程爱好者学习,同时也可以作为想要学习编程的初级人员的指导用书。 
作者简介
赵会东,不错软件工程师,网名东方,有过5年以上的大型集团信息管理系统项目研发经验,3年以上的项目管理经验,擅长系统分析、系统构架及oracle数据库,熟悉C#、PB、Java等开发语言,对c#编程思想有较为深入的理论基础与实战经验,另外,对于数据挖掘和数据分析有丰富的实战经验,曾带领项目组出色完成北方供热行业ERP的解决方案。
王小科,资历软件开发工程师,5年以上的软件开发经验,擅长基于.NET平台的Windows应用程序开发,对于Windows应用程序架构、面向对象程序设计和设计模式等有很深的研究。曾主持开发ERP系统、企业人事管理系统、365城宝网及Web2.0电子商务网站等多个大型项目的开发工作。
王军,毕业于吉林大学,程序员,长期从事企业信息化系统分析,设计和开发,对C#开发有较深入的研究。 
目录
第1篇 编程经验与感悟——站在前人臂膀上前行1
第1章 步入编程殿堂2
感悟01谨慎选择——如何选择编程语言3
感悟02重视基础——学习编程要打好基本功4
感悟03规范代码——养成良好的编码规范4
感悟04内外兼修——要重视实践练习5
感悟05持之以恒——坚持比激情更重要5
感悟06培养兴趣——感悟编程的乐趣与成就感6

第2章 提高编程技能7
感悟07自我总结——善于总结编程经验8
感悟08活学活用——思维方式要灵活8
感悟09相互交流——多向他人学习9
感悟10知识的海洋——善于利用丰富网络资源10
感悟11坚持学习——学习与培训的必要性10
感悟12品味编程——逐步培养个人的编程思想11

第3章 畅谈编程12
感悟13重视细节——编程细节经验谈13
感悟14数据库结构——数据库设计经验谈13
感悟15实践出真知——项目开发经验谈15
感悟16价值体现——信息技术改变我们的生活17
感悟17展望未来——展望中国IT行业的未来18

第2篇 陷阱与谬误——汲取前人的教训19
第4章 C#开发人员不可忽视的30个技术陷阱20
陷阱01漏洞百出——使用for删除集合中元素时的陷阱21
陷阱02无法逃生——使用循环语句不慎产生死循环23
陷阱03并非寻常——在程序中暴露常量时产生的陷阱24
陷阱04变幻莫测——拆箱存在的隐患26
陷阱05危机四伏——相等运算符重载造成的陷阱28
陷阱06事与愿违——结构初始化产生的陷阱30
陷阱07防不胜防——params关键字载入空值时的陷阱31
陷阱08无风起浪——初始化静态成员时产生的陷阱33
陷阱09误入歧途——传递派生类产生的陷阱35
陷阱10隐患重重——数据类型转换时可能存在的隐患37
陷阱11三思而行——构造方法中调用虚方法的陷阱39
陷阱12表里不一——保存空值到数据表日期字段存在的陷阱41
陷阱13三思而行——读取数据库中空字段值时的陷阱44
陷阱14糟糕透顶——使用null对数据库的空值进行比较时的陷阱45
陷阱15防不胜防——遍历ArrayList数组时可能存在陷阱47
陷阱16不知其二——以DataReader对象作为方法返回值的陷阱49
陷阱17迷雾重重——使用窗体的Controls属性遍历窗体控件时产生的陷阱51
陷阱18不容侵犯——获取ComboBox的SelectedValue属性时存在的陷阱53
陷阱19意想不到——SQLServer数据库中DateTime类型的溢出陷阱56
陷阱20三思而行——用DataReader读取数据时产生的陷阱58
陷阱21不知其二——获取DataTable类型数据源产生的陷阱60
陷阱22空穴来风——当ExecuteScalar返回值为空时的陷阱61
陷阱23拒之门外——在DataGridView中插入行时的陷阱64
陷阱24波澜起伏——清除DataGridView中数据时产生的陷阱65
陷阱25埋下祸患——在DataGridView中绑定自增列产生的陷阱68
陷阱26三思而行——使用值类型进行线程同步71
陷阱27危机四伏——引用类型对象自身进行同步的陷阱73
陷阱28三思而行——使用LINQ的First方法74
陷阱29自相矛盾——因读/写文件时编码格式不一致而产生的陷阱76
陷阱30自相矛盾——读/写二进制文件的陷阱77

第5章 C#开发人员意识中的20个常见谬误80
谬误01误入歧途——所有的异常都要使用trycatch语句捕获81
谬误02不知其二——事件和委托的差别很大82
谬误03误入歧途——C#中的string和String是不同类型82
谬误04误入歧途——.NET中的应用程序域和操作系统中的进程接近相同83
谬误05误入歧途——C#中不能定义一个全局可见的变量83
谬误06不知其二——C#和SQLServer中“空”是一回事84
谬误07不知其二——C#的结构与C++的结构接近一样84
谬误08不知其二——方法中只有引用类型的参数才能实现引用传递85
谬误09不知其二——字符串是值类型86
谬误10不知其二——C#中的数组类型和C++的数组没有区别87
谬误11不知其二——泛型在不被指定的情况下是不确定的类型87
谬误12不知其二——Object类型比较方法上的一些误解89
谬误13不知其二——.NET中的线程等价于Win32线程90
谬误14一字之差——重载方法就是重写方法91
谬误15必由之路——在try语句中使用return、finally语句得不到执行92
谬误16相差悬殊——结构是一种轻型或小型的类93
谬误17恶意猜测——多个线程同时调用静态方法,其运行结果可能不准确94
谬误18相差甚远——String与StringBuilder基本上相同95
谬误19混淆是非——结构不可以实现接口96
谬误20不知其二——Environment.CurrentDirectory始终为应用程序文件的目录97

第3篇 技术细节——修炼编程内功心法99
第6章 技术细节-C#语言基础100
细节01打包变量——装箱和拆箱101
细节02虚虚实实——理解值类型和引用类型102
细节03相互适应——隐式转换和显式转换106
细节04齐步向前——理解移位运算符108
细节05等级制度——理解运算的次序110
细节06畅通无阻——理解参数的类型111
细节07同名同姓——重载方法115
细节08取而代之——虚方法与重写方法116
细节09纸上谈兵——接口的概念及声明119
细节10血战沙场——接口的两种实现方式120
细节11不温不火——抽象类与抽象方法124
细节12格格不入——什么是封装126
细节13子承父业——什么是继承128
细节14本是同根——什么是多态性130
细节15各司其职——作用域的概念133
细节16武林秘籍——使用索引器134
细节17父子情深——base和this关键字135
细节18静观其变——理解静态修饰符137
细节19追本溯源——C#语言中的Object类139
细节20空穴来风——可空类型140
细节21分身之术——分部类141
细节22无名英雄——匿名方法143
细节23自言自语——.NET框架提供的属性(Attribute)145
细节24自我介绍——自定义属性类(Attribute)147
细节25武林秘籍——应用泛型148
细节26武林秘籍——包含/委托151
细节27定制循环——实现迭代器153
细节28对象克隆——C#中的深复制和浅复制155
细节29冒名顶替——重载一元、二元运算符156
细节30论资排辈——对象也能排序158
细节31异常处理——根据异常类型编写专有catch语句160
细节32异常处理——自定义异常输出信息162
细节33全权代理——委托的定义及应用163
细节34秘密事件——自定义事件164
细节35武林秘籍——对象的序列化与反序列化166
细节36武林秘籍——使用XML方式进行序列化和反序列化168
细节37自我主张——使用特性自定义XML序列化170
细节38自由进出——在C#中动态加载和卸载程序集171
细节39万能类型——使用var创建隐型局部变量172
细节40委托杀手——Lambda表达式174

第7章 技术细节-Windows开发技术175
细节01一统天下——创建MDI窗体框架176
细节02迥然不同——模态对话框和非模态对话框179
细节03遗传基因——WindwsForm窗体继承181
细节04随心所欲——DateTimePicker控件自定义显示格式183
细节05异步助手——BackgroundWorker组件执行异步操作185
细节06毫无私情——使用ErrorProvider控件验证文本框的输入187
细节07很好助手——使用HelpProvider控件调用帮助文件189
细节08强强联合——制作复合控件190
细节09青出于蓝——制作扩展控件192
细节10唯我独尊——制作自定义控件193

第8章 技术细节-文件、数据流及图形196
细节01静观其变——通过File类操作文件197
细节02异曲同工——通过Fileinfo类操作文件200
细节03静观其变——通过Directory类操作文件夹203
细节04异曲同工——通过Directoryinfo类操作文件夹205
细节05天下无敌——使用FileStream流读/写数据210
细节06略胜一筹——使用BufferedStream流读/写数据212
细节07专心致志——使用StreamReader和StreamWriter读/写数据214
细节08异曲同工——通过重写窗体的OnPaint方法绘图217
细节09完美无缺——使用双缓冲技术绘图218
细节10精打细算——绘制剪切区域220

第9章 技术细节-线程和网络通信222
细节01异曲同工——使用异步委托执行线程223
细节02争先恐后——多线程产生竞态条件的原理225
细节03武林秘籍——使用lock关键字实现线程同步227
细节04武林秘籍——使用Monitor类和Mutex类实现线程同步229
细节05互不让步——多线程产生死锁的原理232
细节06包罗万象——应用CLR的线程池234
细节07网络基石——通过Dns类、IPAddress类、IPEndPoint类获取网络信息235
细节08精兵强将——使用Socket类、TcpClient类、TcpListener类实现网络通信239

第10章 技术细节-数据库、XML及LINQ245
细节01桥梁专家——高效地使用数据库连接的两种方式246
细节02永不分离——数据源的连接式访问模式248
细节03一招制敌——ADO.NET影响一行的数据操作250
细节04一箭双雕——ADO.NET影响多行的数据操作254
细节05武林秘籍——用XmlReader读取XML257
细节06武林秘籍——用XmlWriter写入XML258
细节07大浪淘沙——对象的筛选操作260
细节08小孔成像——对象的投影操作261
细节09论资排辈——对象的排序操作262
细节10精打细算——对象的聚合操作265
细节11重新组合——对象的集合操作269
细节12指点江山——对象的元素操作272
细节13首尾相连——对象的连接操作273
细节14单枪匹马——查询DataSet中的单个表275
细节15多多益善——查询DataSet中的多个表277
细节16小孔成像——对DataSet进行投影操作278
细节17大浪淘沙——对DataSet进行筛选操作279
细节18论资排辈——对DataSet进行排序操作280
细节19精打细算——对DataSet进行聚合操作282
细节20指点江山——对DataSet进行元素操作282
细节21首尾相连——对DataSet进行连接操作283
细节22泾渭分明——对DataSet进行数据分区操作285

第4篇 编程技巧——程序员的神兵利器287
第11章 开发技巧-C#语言基础288
技巧01武林秘籍——巧用异或运算符实现加密功能289
技巧02巧妙绝伦——巧用位移运算符获得汉字编码289
技巧03来者不拒——使用Params关键字指定多个参数290
技巧04应对自如——如果可能,尽量使用接口来编程291
技巧05首当其冲——使用属性代替公共成员变量291
技巧06武林秘籍——对需要排序的对象实现IComparable或IComparer接口293
技巧07高效执行——善于使用构造函数链294
技巧08步调一致——使用静态构造方法来初始化静态成员变量295
技巧09武林秘籍——总是为自定义类重写ToString方法296
技巧10以逸待劳——使用using语句实例化类297
技巧11首当其冲——在遍历集合时优先使用foreach语句297
技巧12外围攻击——为密封类添加新方法298
技巧13武林秘籍——转换数组类型299
技巧14颠倒乾坤——反转数组中元素的顺序300
技巧15查找有方——检索指定条件数组中的元素301
技巧16变化莫测——动态改变数组长度302
技巧17核心机密——获取当前程序集的版本号303
技巧18武林秘籍——如何让线程跨越应用程序域执行304
技巧19异曲同工——使用反射技术实例化对象305
技巧20武林秘籍——C#产生随机数306
技巧21LINQ操作——使用LINQ转换序列或集合306
技巧22LINQ操作——使用LINQ初始化数组308
技巧23LINQ操作——使用LINQ在一个循环中遍历多个数组308
技巧24LINQ操作——使用LINQ生成随机序列309
技巧25LINQ操作——使用LINQ生成字符串310

第12章 开发技巧-Windows开发技术311
技巧01雍容华贵——设计带进度条的状态栏312
技巧02异曲同工——设置系统的日期和时间312
技巧03前沿阵地——使某个窗体总显示在最前面313
技巧04安全警告——在窗体关闭前显示对话框314
技巧05惟妙惟肖——在托盘中显示应用程序图标315
技巧06深入浅出——制作半透明的渐显窗体316
技巧07回顾历史——带历史信息的菜单316
技巧08精准定位——控制TextBox控件的插入点317
技巧09查找有方——在ListBox控件中查找某项318
技巧10绚丽多彩——在ListView控件中加载图片319
技巧11异曲同工——区分TreeView控件选中各节点的方式320
技巧12全盘搜索——使用TREEVIEW遍历磁盘目录322
技巧13绑定数据——List<T>绑定ComboBox控件323
技巧14一目了然——使用ProgressBar显示进度324
技巧15温馨提示——使用ToolTip控件提示信息325
技巧16控件操作——选中或取消CheckListBox控件的全部项325
技巧17校验真伪——设置MaskedTextBox控件输入验证326
技巧18统一调度——Mdi窗体打开子窗体的通用方法327
技巧19异地传输——怎样把数据从一个窗体传递到另一个窗体328
技巧20受制于人——使用C#编写程序控制输入法329
技巧21精准定位——获得光标在多行TextBox中的行与列330
技巧22你被监控——截取系统消息331
技巧23模拟操作——模拟键盘操作332
技巧24模拟操作——模拟鼠标操作333
技巧25核心机密——获取CPU的编号和网卡地址334
技巧26受制于人——在TextBox中只允许输入表示数值的字符335
技巧27统一管理——设置窗体中所有的控件为启用或禁用状态336
技巧28自动控制——C#打开/关闭CDROM337
技巧29强强联合——C#操作Word文件338
技巧30强强联合——C#操作Excel文件339
技巧31独一无二——应用程序只运行一个实例340
技巧32深藏不漏——不显示命令行窗口后台运行控制台程序340
技巧33伸缩自如——创建在运行状态下可拖曳和可拉伸的文本框341
技巧34获取机密——Windows操作注册表342
技巧35独一无二——实现MDI框架窗体不重复打开同一个子窗体343
技巧36交流沟通——实现两个ListBox控件间交换数据344
技巧37武林秘籍——实现在TextBox中按回车键相当于按<tab>键345
技巧38武林秘籍——使用RichTextBox控件保存文件346
技巧39强强联合——C#读取Excel表格中的数据347
技巧40一手遮天——屏蔽系统<Ctrl+C/X/V>组合键的功能347
技巧41绚丽多彩——在ComboBox的下拉列表中显示图片348
技巧42浮想联翩——实现ComboBox带有联想查询功能349
技巧43身怀绝技——应用ClipBoard类实现系统<Ctrl+V>组合键的功能350
技巧44鼠标操作——禁止鼠标左键351
技巧45时隐时现——隐藏和显示鼠标352

第13章 开发技巧-线程、进程及网络技术353
技巧01武林秘籍——多线程绑定带有参数的方法354
技巧02武林秘籍——获取所有启动的进程354
技巧03巧妙获取——获取当前进程的hash值355
技巧04顺藤摸瓜——通过IP获得主机信息356
技巧05武林秘籍——使用C#编写程序自动ping对方的IP地址357
技巧06秘密搜查——扫描计算机端口号358
技巧07有求必应——建立TCP服务器359
技巧08发号指令——建立TCP客户端360
技巧09自我展示——自定义Internet浏览器外观361
技巧10千挑万选——查找网页中的所有超链接362

第14章 开发技巧-数据库应用程序开发364
技巧01绑定数据——ComboBox控件绑定数据源365
技巧02绑定数据——CheckedListBox控件绑定数据源365
技巧03绑定数据——ListBox控件绑定数据源366
技巧04绑定数据——TreeView控件绑定数据源367
技巧05绑定数据——DataGridViewComboBoxColumn绑定数据源368
技巧06一专多能——编辑DataGridView控件后提交数据369
技巧07自我创新——在DataGridView控件中添加自定义列370
技巧08一扫而空——清空DataGridView控件中的数据371
技巧09分久必合——把数据表的两个列合成一个列放入DataGridView中371
技巧10同甘共苦——使用事务同时提交多个数据表372
技巧11同甘共苦——使用隐式事务实现多表提交数据373
技巧12同甘共苦——实现数据表之间批量复制数据374
技巧13武林秘籍——使用序列化技术将图像写入数据库375
技巧14武林秘籍——使用反序列化技术从数据库中读取图像376
技巧15日新月异——获取数据库中的日期376
技巧16独一无二——获得数据表的主键377
技巧17一同前往——使用SqlDataAdapter同时查询多条SQL语句378
技巧18随心所欲——把任意文件保存到数据库中379
技巧19异曲同工——将图像保存到XML文件中379
技巧20颠倒乾坤——在数据表中实现行数据转列380

第15章 开发技巧-其他实用技巧382
技巧01有规有矩——将数字转换为日期格式383
技巧02有规有矩——使用Tostring方法得到多种日期格式383
技巧03有规有矩——使用ParseExact方法将字符串转换为日期格式384
技巧04异曲同工——将小写金额转换为大写金额385
技巧05有规有矩——使用NumberFormatinfo类将数字格式化为货币格式386
技巧06颠倒是非——将行字符串转换为列字符串387
技巧07合情合理——把按照逗号分隔的字符串存储在ArrayList数组中388
技巧08本末倒置——将字符串颠倒顺序输出389
技巧09辨别真伪——使用正则表达式判断字符串是否为日期格式390
技巧10巧取豪夺——通过判断ASCII编码来截取字符串中的数字390
技巧11查验真伪——使用正则表达式验证个人常用信息391
技巧12查验真伪——使用正则表达式验证数字或字母392
技巧13查验真伪——使用正则表达式验证汉字输入393
技巧14查验真伪——使用正则表达式验证大写或小写字母394
技巧15查验真伪——使用正则表达式验证整数或小数394
技巧16查找字符——使用正则表达式检查字符串中连续重复出现的单词395
技巧17核心机密——修改文件属性396
技巧18更名改姓——修改文件夹名称397
技巧19更名改姓——修改指定文件的名称398
技巧20面面俱到——遍历整个文件夹399
技巧21查找文件——搜索指定目录下的指定文件400
技巧22操作文件——删除文件夹中的所有文件401
技巧23巧妙分离——从文件的完整名称中分离出路径、文件名及扩展名402
技巧24实时监控——监视新创建的文件402
技巧25读/写文件——C#应用程序读/写INI文件403
技巧26操作内存流——读/写内存流数据405
技巧27操作缓冲流——使用缓冲流复制文件406
技巧28转危为安——创建临时文件407
技巧29如出一辙——比较两个文件的内容是否相同408
技巧30图像处理——从左向右以拉伸方式显示图像409
技巧31图像处理——从上向下以拉伸方式显示图像410
技巧32绘声绘色——使用GDI+技术绘制饼型图412
技巧33伸缩自如——按比例缩放图像413
技巧34图片剪切——实现图片剪切414
技巧35身怀绝技——在图片中写入文字416
技巧36美轮美奂——C#实现动画效果417
技巧37格式转换——转换图像文件的保存格式418
技巧38鼠标操作——利用鼠标绘图419
技巧39屏幕抓图——C#实现抓屏功能420
技巧40绚丽登场——动画显示窗体420

第5篇 算法和效率——程序员的得力助手422
第16章 常用的20个算法及应用423
算法01经典算法——冒泡排序算法424
算法02经典算法——选择排序算法425
算法03经典算法——插入排序算法426
算法04经典算法——希尔排序算法427
算法05经典算法——单向链表428
算法06经典算法——双向链表434
算法07经典算法——堆栈439
算法08经典算法——队列442
算法09经典算法——树的实现443
算法10实用算法——判断素数的算法448
算法11实用算法——加密和解密算法449
算法12实用算法——按要求生成指定位数编号451
算法13实用算法——身份证号从15位升到18位算法452
算法14趣味算法——“百钱百鸡”的算法454
算法15趣味算法——韩信点兵的算法454
算法16实用算法——实现裴波纳契数列求和455
算法17实用算法——求水仙花数的算法457
算法18实用算法——如何将B转换成GB、MB和KB458
算法19实用算法——0~N位数的任意组合459
算法20实用算法——在数组中快速查找近似值462

第6篇 解决方案——前人的经验精髓464
第17章 C#开发人员必知必会的20个解决方案465
方案01天下无敌——通用数据访问层解决方案466
方案02武林秘籍——C#自动配置ODBC数据源473
方案03幕后英雄——C#应用存储过程处理数据478
Sub_01应用存储过程添加数据方案478
Sub_02应用存储过程修改数据方案480
Sub_03应用存储过程删除数据方案481
Sub_04应用存储过程查询数据方案482
方案04武林秘籍——查询主键所拥有的外键约束信息483
方案05异曲同工——使用DataGridView控件直接提交数据487
方案06武林秘籍——动态设置水晶报表数据源492
方案07来去自如——C#备份和还原SQLServer数据库496
Sub_01C#备份SQLServer数据库497
Sub_02C#还原SQLServer数据库499
方案08责权明晰——软件模块操作授权方案501
方案09解锁秘籍——软件注册解决方案507
Sub_01利用注册表设计软件注册程序507
Sub_02利用网卡序列号设计软件注册程序509
Sub_03根据CPU序列号、磁盘序列号设计软件注册程序512
方案10秘密防守——数据加密方案515
方案11自由自在——创建在运行状态下可操作的控件517
方案12武林秘籍——复制文件方案521
Sub_01使用FileStream复制大文件521
Sub_02复制文件时显示复制进度524
Sub_03批量复制文件526
方案13秘密防守——文本文件的加密与解密方案528
Sub_01使用对称加密算法实现对文件的加密与解密528
Sub_02利用图片对文本文件进行加密与解密534
方案14伸缩自如——文件压缩与解压缩方案537
Sub_01使用GZipStream类实现对文件的压缩与解压缩537
Sub_02使用WinRAR实现对文件的压缩与解压缩540
方案15另有玄机——C#多线程访问WinForm方案543
方案16远程遥控——计算机远程控制解决方案546
Sub_01远程控制计算机546
Sub_02远程控制服务548
方案17异曲同工——在C#项目中引用接近相同的DLL文件551
方案18自我变换——把汉字转换成拼音555
方案19武林秘籍——生成并打印条形码557
方案20验证真伪——中文验证码方案561 

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网