专题栏目:ARVRMR虚拟现实

《C#开发之道》

书籍简介:

赵会东、王小科、王军合著的《C#开发之道》这是一本集编程感悟、技巧、陷阱、谬误、算法和方案为一体的编程书籍,旨在引导读者如何学习编程,帮助读者丰富编程经验。全书分为6篇,共计17章,全面介绍了学习和应用C#进行程序开发的各种陷阱与谬误、技术细节与经验技巧、常用的算法及解决方案。其涉及的技术主要包括面向对象的三要素(封装、继承、多态)、特性(Attribute)、泛型、委托和事件、异常处理、序列化和反序列化、动态操作程序集、ADO.NET对象操作数据库、Lambda表达式、 LINQ操作对象、LINQ操作数据集等C#核心技术,另外本书还介绍了线程异步调用、多线程同步、网络通信、GDI 绘制图形、自定义Windows Form控件等高级应用技术。

本书附带有配套DVD光盘,光盘中提供了书中全部实例和项目的源代码,这些源代码都是经过作者精心调试通过的,保证能够在Windows XP、 Windows 2003及Windows 7操作系统下编译和运行。

《C#开发之道》非常适合大中专院校在校生和毕业生、求职者、编程爱好者学习,同时也可以作为想要学习编程的初级人员的指导用书。

作者简介:

赵会东

高级软件工程师,网名东方,有过5年以上的大型集团信息管理系统项目研发经验,3年以上的项目管理经验,擅长系统分析、系统构架及Oracle数据库,熟悉C#、PB、Java等开发语言,对C#编程思想有较为深入的理论基础与实战经验,另外,对于数据挖掘和数据分析有丰富的实战经验,曾带领项目组出色完成北方供热行业ERP的解决方案。 王小科,资深软件开发工程师,5年以上的软件开发经验,擅长基于.NET平台的Windows应用程序开发,对于Windows应用程序架构、面向对象程序设计和设计模式等有很深的研究。曾主持开发ERP管理系统、企业人事管理系统、365城宝网及Web 2.0电子商务网站等多个大型项目的开发工作。 王军,毕业于吉林大学,程序员,长期从事企业信息化系统分析、设计和开发,对C#开发有较深入的研究。

出版日期:

2011年04月

章节目录:

第1篇 编程经验与感悟——站在前人臂膀上前行
第1章 步入编程殿堂
感悟01 谨慎选择——如何选择编程语言
感悟02 重视基础——学习编程要打好基本功
感悟03 规范代码——养成良好的编码规范
感悟04 内外兼修——要重视实践练习
感悟05 持之以恒——坚持比激情更重要
感悟06 培养兴趣——感悟编程的乐趣与成就感
第2章 提高编程技能
感悟07 自我总结——善于总结编程经验
感悟08 活学活用——思维方式要灵活
感悟09 相互交流——多向他人学习
感悟10 知识的海洋——善于利用丰富网络资源
感悟11 坚持学习——学习与培训的必要性
感悟12 品味编程——逐步培养个人的编程思想
第3章 畅谈编程
感悟13 重视细节——编程细节经验谈
感悟14 数据库结构——数据库设计经验谈
感悟15 实践出真知——项目开发经验谈
感悟16 价值体现——信息技术改变我们的生活
感悟17 展望未来——展望中国IT行业的未来
第2篇 陷阱与谬误——汲取前人的教训
第4章 C#开发人员不可忽视的30个技术陷阱
陷阱01 漏洞百出——使用for删除集合中元素时的陷阱
陷阱02 无法逃生——使用循环语句不慎产生死循环
陷阱03 并非寻常——在程序中暴露常量时产生的陷阱
陷阱04 变幻莫测——拆箱存在的隐患
陷阱05 危机四伏——相等运算符重载造成的陷阱
陷阱06 事与愿违——结构初始化产生的陷阱
陷阱07 防不胜防——params关键字载入空值时的陷阱
陷阱08 无风起浪——初始化静态成员时产生的陷阱
陷阱09 误入歧途——传递派生类产生的陷阱
陷阱10 隐患重重——数据类型转换时可能存在的隐患
陷阱11 三思而行——构造方法中调用虚方法的陷阱
陷阱12 表里不一——保存空值到数据表日期字段存在的陷阱
陷阱13 三思而行——读取数据库中空字段值时的陷阱
陷阱14 糟糕透顶——使用null对数据库的空值进行比较时的陷阱
陷阱15 防不胜防——遍历ArrayList数组时可能存在陷阱
陷阱16 不知其二——以DataReader对象作为方法返回值的陷阱
陷阱17 迷雾重重——使用窗体的Controls属性遍历窗体控件时产生的陷阱
陷阱18 不容侵犯——获取ComboBox的SelectedValue属性时存在的陷阱
陷阱19 意想不到——SQL Server数据库中DateTime类型的溢出陷阱
陷阱20 三思而行——用DataReader读取数据时产生的陷阱
陷阱21 不知其二——获取DataTable类型数据源产生的陷阱
陷阱22 空穴来风——当ExecuteScalar返回值为空时的陷阱
陷阱23 拒之门外——在DataGridView中插入行时的陷阱
陷阱24 波澜起伏——清除DataGridView中数据时产生的陷阱
陷阱25 埋下祸患——在DataGridView中绑定自增列产生的陷阱
陷阱26 三思而行——使用值类型进行线程同步
陷阱27 危机四伏——引用类型对象自身进行同步的陷阱
陷阱28 三思而行——使用LINQ的First方法
陷阱29 自相矛盾——因读/写文件时编码格式不一致而产生的陷阱
陷阱30 自相矛盾——读/写二进制文件的陷阱
第5章 C#开发人员意识中的20个常见谬误
谬误01 误入歧途——所有的异常都要使用try catch语句捕获
谬误02 不知其二——事件和委托的差别很大
谬误03 误入歧途——C#中的string和String是不同类型
谬误04 误入歧途——.NET中的应用程序域和操作系统中的进程完全相同
谬误05 误入歧途——C#中不能定义一个全局可见的变量
谬误06 不知其二——C#和SQL Server中“空”是一回事
谬误07 不知其二——C#的结构与C 的结构完全一样
谬误08 不知其二——方法中只有引用类型的参数才能实现引用传递
谬误09 不知其二——字符串是值类型
谬误10 不知其二——C#中的数组类型和C 的数组没有区别
谬误11 不知其二——泛型在不被指定的情况下是不确定的类型
谬误12 不知其二——Object类型比较方法上的一些误解
谬误13 不知其二——.NET中的线程等价于Win32线程
谬误14 一字之差——重载方法就是重写方法
谬误15 必由之路——在try语句中使用return、finally语句得不到执行
谬误16 相差悬殊——结构是一种轻型或小型的类
谬误17 恶意猜测——多个线程同时调用静态方法,其运行结果可能不准确
谬误18 相差甚远——String与StringBuilder基本上相同
谬误19 混淆是非——结构不可以实现接口
谬误20 不知其二——Environment.CurrentDirectory始终为应用程序文件的目录
第3篇 技术细节——修炼编程内功心法
第6章 技术细节—C#语言基础
细节01 打包变量——装箱和拆箱
细节02 虚虚实实——理解值类型和引用类型
细节03 相互适应——隐式转换和显式转换
细节04 齐步向前——理解移位运算符
细节05 等级制度——理解运算的次序
细节06 畅通无阻——理解参数的类型
细节07 同名同姓——重载方法
细节08 取而代之——虚方法与重写方法
细节09 纸上谈兵——接口的概念及声明
细节10 血战沙场——接口的两种实现方式
细节11 不温不火——抽象类与抽象方法
细节12 格格不入——什么是封装
细节13 子承父业——什么是继承
细节14 本是同根——什么是多态性
细节15 各司其职——作用域的概念
细节16 武林秘籍——使用索引器
细节17 父子情深——base和this关键字
细节18 静观其变——理解静态修饰符
细节19 追本溯源——C#语言中的Object类
细节20 空穴来风——可空类型
细节21 分身之术——分部类
细节22 无名英雄——匿名方法
细节23 自言自语—— .NET框架提供的属性(Attribute)
细节24 自我介绍——自定义属性类(Attribute)
细节25 武林秘籍——应用泛型
细节26 武林秘籍——包含/委托
细节27 定制循环——实现迭代器
细节28 对象克隆——C#中的深复制和浅复制
细节29 冒名顶替——重载一元、二元运算符
细节30 论资排辈——对象也能排序
细节31 异常处理——根据异常类型编写专有catch语句
细节32 异常处理——自定义异常输出信息
细节33 全权代理——委托的定义及应用
细节34 秘密事件——自定义事件
细节35 武林秘籍——对象的序列化与反序列化
细节36 武林秘籍——使用XML方式进行序列化和反序列化
细节37 自我主张——使用特性自定义XML序列化
细节38 自由进出——在C#中动态加载和卸载程序集
细节39 万能类型——使用var创建隐型局部变量
细节40 委托杀手——Lambda表达式
第7章 技术细节—Windows开发技术
细节01 一统天下——创建MDI窗体框架
细节02 迥然不同——模态对话框和非模态对话框
细节03 遗传基因——Windws Form窗体继承
细节04 随心所欲——DateTimePicker控件自定义显示格式
细节05 异步助手——BackgroundWorker组件执行异步操作
细节06 毫无私情——使用ErrorProvider控件验证文本框的输入
细节07 最佳助手——使用HelpProvider控件调用帮助文件
细节08 强强联合——制作复合控件
细节09 青出于蓝——制作扩展控件
细节10 唯我独尊——制作自定义控件
第8章 技术细节—文件、数据流及图形
细节01 静观其变——通过File类操作文件
细节02 异曲同工——通过Fileinfo类操作文件
细节03 静观其变——通过Directory类操作文件夹
细节04 异曲同工——通过Directoryinfo类操作文件夹
细节05 天下无敌——使用FileStream流读/写数据
细节06 略胜一筹——使用BufferedStream流读/写数据
细节07 专心致志——使用StreamReader和StreamWriter读/写数据
细节08 异曲同工——通过重写窗体的OnPaint方法绘图
细节09 完美无缺——使用双缓冲技术绘图
细节10 精打细算——绘制剪切区域
第9章 技术细节—线程和网络通信
细节01 异曲同工——使用异步委托执行线程
细节02 争先恐后——多线程产生竞态条件的原理
细节03 武林秘籍——使用lock关键字实现线程同步
细节04 武林秘籍——使用Monitor类和Mutex类实现线程同步
细节05 互不让步——多线程产生死锁的原理
细节06 包罗万象——应用CLR的线程池
细节07 网络基石——通过Dns类、IPAddress类、IPEndPoint类获取网络信息
细节08 精兵强将——使用Socket类、TcpClient类、TcpListener类实现网络通信
第10章 技术细节—数据库、XML及LINQ
细节01 桥梁专家——高效地使用数据库连接的两种方式
细节02 永不分离——数据源的连接式访问模式
细节03 一招制敌——ADO.NET影响一行的数据操作
细节04 一箭双雕——ADO.NET影响多行的数据操作
细节05 武林秘籍——用XmlReader读取XML
细节06 武林秘籍——用XmlWriter写入XML
细节07 大浪淘沙——对象的筛选操作
细节08 小孔成像——对象的投影操作
细节09 论资排辈——对象的排序操作
细节10 精打细算——对象的聚合操作
细节11 重新组合——对象的集合操作
细节12 指点江山——对象的元素操作
细节13 首尾相连——对象的连接操作
细节14 单枪匹马——查询DataSet中的单个表
细节15 多多益善——查询DataSet中的多个表
细节16 小孔成像——对DataSet进行投影操作
细节17 大浪淘沙——对DataSet进行筛选操作
细节18 论资排辈——对DataSet进行排序操作
细节19 精打细算——对DataSet进行聚合操作
细节20 指点江山——对DataSet进行元素操作
细节21 首尾相连——对DataSet进行连接操作
细节22 泾渭分明——对DataSet进行数据分区操作
第4篇 编程技巧——程序员的神兵利器
第11章 开发技巧—C#语言基础
技巧01 武林秘籍——巧用异或运算符实现加密功能
技巧02 巧妙绝伦——巧用位移运算符获得汉字编码
技巧03 来者不拒——使用Params关键字指定多个参数
技巧04 应对自如——如果可能,尽量使用接口来编程
技巧05 首当其冲——使用属性代替公共成员变量
技巧06 武林秘籍——对需要排序的对象实现IComparable或IComparer接口
技巧07 高效执行——善于使用构造函数链
技巧08 步调一致——使用静态构造方法来初始化静态成员变量
技巧09 武林秘籍——总是为自定义类重写 ToString 方法
技巧10 以逸待劳——使用using语句实例化类
技巧11 首当其冲——在遍历集合时优先使用foreach语句
技巧12 外围攻击——为密封类添加新方法
技巧13 武林秘籍——转换数组类型
技巧14 颠倒乾坤——反转数组中元素的顺序
技巧15 查找有方——检索指定条件数组中的元素
技巧16 变化莫测——动态改变数组长度
技巧17 核心机密——获取当前程序集的版本号
技巧18 武林秘籍——如何让线程跨越应用程序域执行
技巧19 异曲同工——使用反射技术实例化对象
技巧20 武林秘籍——C#产生随机数
技巧21 LINQ操作——使用LINQ转换序列或集合
技巧22 LINQ操作——使用LINQ初始化数组
技巧23 LINQ操作——使用LINQ在一个循环中遍历多个数组
技巧24 LINQ操作——使用LINQ生成随机序列
技巧25 LINQ操作——使用LINQ生成字符串
第12章 开发技巧—Windows开发技术
技巧01 雍容华贵——设计带进度条的状态栏
技巧02 异曲同工——设置系统的日期和时间
技巧03 前沿阵地——使某个窗体总显示在最前面
技巧04 安全警告——在窗体关闭前显示对话框
技巧05 惟妙惟肖——在托盘中显示应用程序图标
技巧06 深入浅出——制作半透明的渐显窗体
技巧07 回顾历史——带历史信息的菜单
技巧08 精准定位——控制TextBox控件的插入点
技巧09 查找有方——在ListBox控件中查找某项
技巧10 绚丽多彩——在ListView控件中加载图片
技巧11 异曲同工——区分TreeView控件选中各节点的方式
技巧12 全盘搜索——使用TREEVIEW遍历磁盘目录
技巧13 绑定数据——List<T>绑定ComboBox控件
技巧14 一目了然——使用ProgressBar显示进度
技巧15 温馨提示——使用ToolTip控件提示信息
技巧16 控件操作——选中或取消CheckListBox控件的全部项
技巧17 校验真伪——设置MaskedTextBox控件输入验证
技巧18 统一调度——Mdi窗体打开子窗体的通用方法
技巧19 异地传输——怎样把数据从一个窗体传递到另一个窗体
技巧20 受制于人——使用C#编写程序控制输入法
技巧21 精准定位——获得光标在多行TextBox中的行与列
技巧22 你被监控——截取系统消息
技巧23 模拟操作——模拟键盘操作
技巧24 模拟操作——模拟鼠标操作
技巧25 核心机密——获取CPU的编号和网卡地址
技巧26 受制于人——在TextBox中只允许输入表示数值的字符
技巧27 统一管理——设置窗体中所有的控件为启用或禁用状态
技巧28 自动控制——C#打开/关闭CDROM
技巧29 强强联合——C#操作Word文件
技巧30 强强联合——C#操作Excel文件
技巧31 独一无二——应用程序只运行一个实例
技巧32 深藏不漏——不显示命令行窗口后台运行控制台程序
技巧33 伸缩自如——创建在运行状态下可拖曳和可拉伸的文本框
技巧34 获取机密——Windows操作注册表
技巧35 独一无二——实现MDI框架窗体不重复打开同一个子窗体
技巧36 交流沟通——实现两个ListBox控件间交换数据
技巧37 武林秘籍——实现在TextBox中按回车键相当于按<tab>键
技巧38 武林秘籍——使用RichTextBox控件保存文件
技巧39 强强联合——C#读取Excel表格中的数据
技巧40 一手遮天——屏蔽系统<Ctrl C/X/V>组合键的功能
技巧41 绚丽多彩——在ComboBox的下拉列表中显示图片
技巧42 浮想联翩——实现ComboBox带有联想查询功能
技巧43 身怀绝技——应用ClipBoard类实现系统<Ctrl V>组合键的功能
技巧44 鼠标操作——禁止鼠标左键
技巧45 时隐时现——隐藏和显示鼠标
第13章 开发技巧—线程、进程及网络技术
技巧01 武林秘籍——多线程绑定带有参数的方法
技巧02 武林秘籍——获取所有启动的进程
技巧03 巧妙获取——获取当前进程的hash值
技巧04 顺藤摸瓜——通过IP获得主机信息
技巧05 武林秘籍——使用C#编写程序自动ping对方的IP地址
技巧06 秘密搜查——扫描计算机端口号
技巧07 有求必应——建立TCP服务器
技巧08 发号指令——建立TCP客户端
技巧09 自我展示——自定义Internet浏览器外观
技巧10 千挑万选——查找网页中的所有超链接
第14章 开发技巧—数据库应用程序开发
技巧01 绑定数据——ComboBox控件绑定数据源
技巧02 绑定数据——CheckedListBox控件绑定数据源
技巧03 绑定数据——ListBox控件绑定数据源
技巧04 绑定数据——TreeView控件绑定数据源
技巧05 绑定数据——DataGridViewComboBoxColumn绑定数据源
技巧06 一专多能——编辑DataGridView控件后提交数据
技巧07 自我创新——在DataGridView控件中添加自定义列
技巧08 一扫而空——清空DataGridView控件中的数据
技巧09 分久必合——把数据表的两个列合成一个列放入DataGridView中
技巧10 同甘共苦——使用事务同时提交多个数据表
技巧11 同甘共苦——使用隐式事务实现多表提交数据
技巧12 同甘共苦——实现数据表之间批量复制数据
技巧13 武林秘籍——使用序列化技术将图像写入数据库
技巧14 武林秘籍——使用反序列化技术从数据库中读取图像
技巧15 日新月异——获取数据库中的日期
技巧16 独一无二——获得数据表的主键
技巧17 一同前往——使用SqlDataAdapter同时查询多条SQL语句
技巧18 随心所欲——把任意文件保存到数据库中
技巧19 异曲同工——将图像保存到XML文件中
技巧20 颠倒乾坤——在数据表中实现行数据转列
第15章 开发技巧—其他实用技巧
技巧01 有规有矩——将数字转换为日期格式
技巧02 有规有矩——使用Tostring方法得到多种日期格式
技巧03 有规有矩——使用ParseExact方法将字符串转换为日期格式
技巧04 异曲同工——将小写金额转换为大写金额
技巧05 有规有矩——使用NumberFormatinfo类将数字格式化为货币
格式
技巧06 颠倒是非——将行字符串转换为列字符串
技巧07 合情合理——把按照逗号分隔的字符串存储在ArrayList数组中
技巧08 本末倒置——将字符串颠倒顺序输出
技巧09 辨别真伪——使用正则表达式判断字符串是否为日期格式
技巧10 巧取豪夺——通过判断ASCII编码来截取字符串中的数字
技巧11 查验真伪——使用正则表达式验证个人常用信息
技巧12 查验真伪——使用正则表达式验证数字或字母
技巧13 查验真伪——使用正则表达式验证汉字输入
技巧14 查验真伪——使用正则表达式验证大写或小写字母
技巧15 查验真伪——使用正则表达式验证整数或小数
技巧16 查找字符——使用正则表达式检查字符串中连续重复出现的单词
技巧17 核心机密——修改文件属性
技巧18 更名改姓——修改文件夹名称
技巧19 更名改姓——修改指定文件的名称
技巧20 面面俱到——遍历整个文件夹
技巧21 查找文件——搜索指定目录下的指定文件
技巧22 操作文件——删除文件夹中的所有文件
技巧23 巧妙分离——从文件的完整名称中分离出路径、文件名及扩展名
技巧24 实时监控——监视新创建的文件
技巧25 读/写文件——C#应用程序读/写INI文件
技巧26 操作内存流——读/写内存流数据
技巧27 操作缓冲流——使用缓冲流复制文件
技巧28 转危为安——创建临时文件
技巧29 如出一辙——比较两个文件的内容是否相同
技巧30 图像处理——从左向右以拉伸方式显示图像
技巧31 图像处理——从上向下以拉伸方式显示图像
技巧32 绘声绘色——使用GDI 技术绘制饼型图
技巧33 伸缩自如——按比例缩放图像
技巧34 图片剪切——实现图片剪切
技巧35 身怀绝技——在图片中写入文字
技巧36 美轮美奂——C#实现动画效果
技巧37 格式转换——转换图像文件的保存格式
技巧38 鼠标操作——利用鼠标绘图
技巧39 屏幕抓图——C#实现抓屏功能
技巧40 绚丽登场——动画显示窗体
第5篇 算法和效率——程序员的得力助手
第16章 常用的20个算法及应用
算法01 经典算法——冒泡排序算法
算法02 经典算法——选择排序算法
算法03 经典算法——插入排序算法
算法04 经典算法——希尔排序算法
算法05 经典算法——单向链表
算法06 经典算法——双向链表
算法07 经典算法——堆栈
算法08 经典算法——队列
算法09 经典算法——树的实现
算法10 实用算法——判断素数的算法
算法11 实用算法——加密和解密算法
算法12 实用算法——按要求生成指定位数编号
算法13 实用算法——身份证号从15位升到18位算法
算法14 趣味算法——“百钱百鸡”的算法
算法15 趣味算法——韩信点兵的算法
算法16 实用算法——实现裴波纳契数列求和
算法17 实用算法——求水仙花数的算法
算法18 实用算法——如何将B转换成GB、MB和KB
算法19 实用算法——0~N位数的任意组合
算法20 实用算法——在数组中快速查找近似值
第6篇 解决方案——前人的经验精髓
第17章 C#开发人员必知必会的20个解决方案
方案01 天下无敌——通用数据访问层解决方案
方案02 武林秘籍——C#自动配置ODBC数据源
方案03 幕后英雄——C#应用存储过程处理数据
Sub_01 应用存储过程添加数据方案
Sub_02 应用存储过程修改数据方案
Sub_03 应用存储过程删除数据方案
Sub_04 应用存储过程查询数据方案
方案04 武林秘籍——查询主键所拥有的外键约束信息
方案05 异曲同工——使用DataGridView控件直接提交数据
方案06 武林秘籍——动态设置水晶报表数据源
方案07 来去自如——C#备份和还原SQL Server数据库
Sub_01 C#备份SQL Server数据库
Sub_02 C#还原SQL Server数据库
方案08 责权明晰——软件模块操作授权方案
方案09 解锁秘籍——软件注册解决方案
Sub_01 利用注册表设计软件注册程序
Sub_02 利用网卡序列号设计软件注册程序
Sub_03 根据CPU序列号、磁盘序列号设计软件注册程序
方案10 秘密防守——数据加密方案
方案11 自由自在——创建在运行状态下可操作的控件
方案12 武林秘籍——复制文件方案
Sub_01 使用FileStream复制大文件
Sub_02 复制文件时显示复制进度
Sub_03 批量复制文件
方案13 秘密防守——文本文件的加密与解密方案
Sub_01 使用对称加密算法实现对文件的加密与解密
Sub_02 利用图片对文本文件进行加密与解密
方案14 伸缩自如——文件压缩与解压缩方案
Sub_01 使用GZipStream类实现对文件的压缩与解压缩
Sub_02 使用WinRAR实现对文件的压缩与解压缩
方案15 另有玄机——C#多线程访问WinForm方案
方案16 远程遥控——计算机远程控制解决方案
Sub_01 远程控制计算机
Sub_02 远程控制服务
方案17 异曲同工——在C#项目中引用完全相同的DLL文件
方案18 自我变换——把汉字转换成拼音
方案19 武林秘籍——生成并打印条形码
方案20 验证真伪——中文验证码方案

封面图:

发表评论

相关文章