图书简介:
第1章 Visual Studio 2005概述 1
1.1 C#基础知识 1
1.1.1 C#简介 1
1.1.2 .NET Framework平台体系结构 1
1.1.3 面向对象的程序设计方法 2
1.2 Visual Studio2005的新特性 2
1.3 安装Visual Studio2005 3
1.4 IDE介绍 4
1.4.1 开始页面 4
1.4.2 解决方案资源管理器 5
1.4.3 菜单栏 6
1.4.4 工具栏 7
1.4.5 工具箱 8
1.4.6 代码编辑器 8
1.4.7 对象浏览器 9
1.4.8 “属性”面板 10
1.4.9 “命令”窗口 10
1.4.10 “即时”窗口 10
1.4.11 “任务列表”窗口 11
1.5 使用命名空间 11
1.6 Main方法 12
1.7 使用帮助 13
1.8 项目实践 13
1.9 复习与提示 14
1.10 习题与上机实验 14
上机实验 14
第2章 变量、操作符和表达式 16
2.1 语句 16
2.2 程序代码的注释 16
2.3 使用标识符 17
2.4 变量和常量 17
2.4.1 变量 17
2.4.2 常量 18
2.5 数据类型 18
2.5.1 值类型和引用类型的区别 19
2.5.2 基本数据类型 19
2.5.3 引用类型 20
2.6 运算符与表达式类型 21
2.6.1 运算符的分类 21
2.6.2 运算符的优先级 23
2.7 项目实践 24
2.8 复习与提示 25
2.9 习题与上机实验 25
习题2 25
上机实验 27
[实验1] 求矩形的周长和面积 27
[实验2] 判断某年是否闰年 27
第3章 方法 29
3.1 声明方法 29
3.1.1 声明方法的语法格式 29
3.1.2 return语句 30
3.2 调用方法: 30
3.2.1 ref关键字 30
3.2.2 创建out参数 31
3.3 运用作用域 31
3.4 方法的重载 32
3.5 项目实践 32
3.6 复习与提示 34
3.7 习题与上机实验 34
习题3 34
上机实验 35
[实验1] 给三个整数排序并求其和及平均值 35
[实验2] 求N!的值 36
第4章 结构化程序设计 37
4.1 顺序结构程序设计 37
4.1.1 单赋值语句 37
4.1.2 复合赋值语句 37
4.1.3 连续赋值语句 38
4.2 输出和输入 38
4.2.1 输入方法 38
4.2.2 输出方法 38
4.3 选择结构程序设计 38
4.3.1 if语句(单分支选择结构) 38
4.3.2 switch 语句(多分支选择结构) 39
4.4 循环结构程序设计 39
4.4.1 for循环语句 39
4.4.2 while 循环语句 40
4.4.3 do…while循环语句 40
4.5 转移语句 40
4.5.1 goto语句 41
4.5.2 break语句 41
4.5.3 continue 语句 41
4.5.4 return 语句 41
4.6 项目实验 41
4.7 复习与提示 44
4.8 习题与上机实验 44
习题4 44
第5章 枚举和结构 46
5.1 枚举 46
5.1.1 定义枚举 46
5.1.2 使用枚举 47
5.2 结构 47
5.2.1 定义结构 47
5.2.2 使用结构 48
5.3 项目实践 49
5.4 复习与提示 51
5.5 习题与上机实验 51
习题5 51
上机实验 52
[实验] 求矩形的周长和面积 52
第6章 数组与集合 53
6.1 数组 53
6.1.1 声明数组 53
6.1.2 数组初始化 53
6.1.3 访问一个单独的数组元素 54
6.1.4 foreach循环 54
6.1.5 使用数组 54
6.1.6 多维数组 54
6.1.7 数组项目实践 55
6.2 集合 56
6.2.1 什么是集合 56
6.2.2 ArrayList类 57
6.2.3 Queue类 57
6.2.4 Stack类 57
6.2.5 Hashtable类 58
6.2.6 SortedList类 58
6.2.7 集合项目实践 58
6.2.8 数组和集合的区别 60
6.3 复习与提示 60
6.4 习题与上机实验 60
习题6 60
第7章 面向对象编程 62
7.1 类和对象 62
7.1.1 类的定义 62
7.1.2 声明和使用对象 63
7.2 访问控制 63
7.3 属性 64
7.3.1 定义属性 64
7.3.2 使用属性 65
7.4 方法 65
7.5 构造函数 66
7.5.1 声明构造函数 66
7.5.2 重载构造函数 66
7.6 析构函数 67
7.7 静态成员 67
7.8 Visual Studio .NET中的OOP工具 68
7.8.1 在Visual Studio2005中创建类 68
7.8.2 添加类成员 68
7.8.3 "类视图”窗口 68
7.9 常用类操作和数据处理 69
7.9.1 Convert类 69
7.9.2 string 类 69
7.9.3 Math 类 70
7.9.4 DateTime类和TimeSpan类 71
7.10 项目实践 71
7.11 复习与提示 74
7.12 习题与上机实验 74
习题7 74
第8章 面向对象编程进阶 77
8.1 封装、继承和多态 77
8.1.1 封装 77
8.1.2 继承 77
8.1.3 多态性 79
8.2 接口 80
8.2.1 声明接口 81
8.2.2 接口限制 81
8.2.3 实现接口 81
8.2.4 使用多个接口 82
8.3 项目实践 82
8.4 复习与提示 87
8.5 习题与上机实践 87
习题8 87
上机实验 89
[实验1] 求三角形的面积 89
第9章 窗体 91
9.1 创建窗体 91
9.1.1 使用新建项目模板创建窗体 91
9.1.2 使用添加项目模板创建窗体 92
9.2 设置窗体属性 93
9.3 窗体的常用事件 94
9.4 窗体的常用方法 94
9.5 项目实践 95
9.6 复习与提示 96
习题9 96
上机实验 96
[实验1] 设计有两个窗体的应用程序 96
第10章 控件 98
10.1 Windows窗体界面设计 98
10.1.1 在窗体中添加控件 98
10.1.2 修改控件属性 99
10.1.3 鼠标事件与键盘事件 99
10.2 常用文本编辑控件 101
10.2.1 标签控件(Label) 101
10.2.2 文本框控件(TextBox) 101
10.3 按钮类控件 102
10.3.1 按钮控件(Button) 102
10.3.2 单选按钮(RadioButton) 102
10.3.3 复选框控件(CheckBox) 103
10.4 组合框控件 103
10.4.1 列表框控件(ListBox)与复选列表框(CheckedListBox) 104
10.4.2 组合框控件(ComboBox) 105
10.5 滚动类控件 105
10.5.1 水平滚动条控件(HScrollBar)与垂直滚动条控件(VScrollBar) 105
10.5.2 进度条控件(ProgressBar) 106
10.6 列表视图控件和树视图控件 106
10.6.1 列表视图控件(ListView) 106
10.6.2 树视图控件(TreeView) 108
10.7 图片框控件和图像列表控件 109
10.7.1 图片框控件(PictureBox) 109
10.7.2 图像列表控件(ImageList) 110
10.9 定时器控件 111
10.10 项目实践 111
项目一 111
项目二 117
项目三 121
10.11 复习与提示 125
习题10 126
上机实验 126
[实验1] 设计一个能进行加减乘除运算的应用程序 126
[实验2] 设计一个收集个人信息的应用程序 127
[实验3] 设计一个能进行专业管理的应用程序 128
第11章 使用菜单和对话框 129
11.1 菜单 129
11.1.1 菜单控件(MenuStrip)与快捷菜单控件(ContextMenuStrip) 129
11.1.2 工具栏控件(ToolStrip)和状态栏控件(StatusStrip) 131
11.2 设计MDI窗体 135
11.2.1 MDI主窗体和子窗体 135
11.2.2 MDI窗体的操作 136
11.3 通用对话框控件 137
11.3.1 文件对话框控件 137
11.3.2 字体和颜色对话框控件 140
11.4 使用打印机 141
11.4.1 打印流程 141
11.4.2 打印文本的实现 141
11.4.3 打印预览的实现 142
11.5 项目实践 143
11.6 复习与提示 146
习题11 147
上机实验 147
【实验1】 设计一个简单的MDI的应用程序 147
【实验2】 设计一个简单的MDI文本编辑器。 148
第12章 调试与异常处理 150
12.1 程序调试 150
12.1.1 调试的理解 150
12.1.2 调试的工具 151
12.1.3 中断模式下的调试 151
12.2 异常处理 152
12.2.1 异常及异常处理 152
12.2.2 结构化异常处理 153
12.2.3 引发异常 154
12.3 项目实践 154
12.4 复习与提示 156
习题12 157
上机实验 157
【实验1】 调试修改project10-1中的错误 157
第13章 流和文件输入/输出操作 159
13.1 Stream类 159
13.2 FileStream类 159
13.2.1 文件位置 160
13.2.2 读取数据 160
13.2.3 写入数据 162
13.3 用于读写数据的类 163
13.3.1 读写二进制文件的操作 163
13.3.2 读写文本文件处理 164
13.4 文本与剪贴板之间的交互 166
13.5 文件和目录类 167
13.5.1 文件类 167
13.5.2 目录类 168
13.6 项目实践 169
13.7 复习与提示 170
习题13 171
上机实验 171
【实验1】 用StreamReade类、StreamWriter类和File类处理文件。 171
【实验2】 使用FileInfo类实现文件解除隐藏、隐藏、拷贝和删除。 171
第14章 图形图像与多媒体处理 173
14.1 GDI+概述 173
14.2 GDI+使用的坐标系 173
14.2.1 Point 174
14.2.2 Size 175
14.2.3 Rectangle 175
14.3 Graphics对象 175
14.4 Paint事件 176
14.5 颜色 176
14.6 字体 177
14.7 画笔 178
14.8 画刷 179
14.9 显示图像 180
14.10 图形图像与剪贴板的交互作用 186
14.11 使用媒体播放控件 187
14.12 项目实践 189
14.13 复习与提示 190
习题14 190
上机实验 191
【实验1】 制作个人画图板 191
第15章 数据库技术 192
15.1 常用数据库 192
15.1.1 Access数据库 192
15.1.2 SQL Server数据库 193
15.2 数据库基础知识 194
15.2.1 表 194
15.2.2 视图 195
15.2.3 存储过程 195
15.2.4 索引 195
15.3 ADO.NET概述 196
15.3.1 ADO与ADO.NET的关系 196
15.3.2 .NET Framework数据提供程序 197
15.3.3 .NET Framework数据提供程序的核心对象 197
15.3.4 System.Data命名空间 198
15.4 连接数据库 198
15.4.1 SqlConnection类 198
15.4.2 连接字符串 199
15.4.3 创建SQL Server连接 199
15.4.4 断开SQL Server连接 199
15.4.5 OleDbConnection类 201
15.5 数据命令 201
15.5.1 查询记录 202
15.5.2 插入记录 203
15.5.3 修改记录 204
15.5.4 删除记录 206
15.6 SqlDataReader对象 207
15.7 使用可视控件访问ADO.NET数据库 209
15.8 定义DataSet类 211
15.9 DataSet、DataTable和TableAdapter对象 212
15.9.1 浏览数据 213
15.10 数据绑定 213
15.10.1 简单的数据绑定 214
15.10.2 复杂的数据绑定 216
15.11 本章小结 218
15.12 习题与上机实践 218
习题15 218
第16章 使用ADO.NET访问数据库 220
16.1 ADO.NET体系结构 220
16.2 数据适配器 221
16.3 数据集 222
16.4 DataTable类 223
16.4.1 DataTable类的常用属性和方法 223
16.4.2 创建数据表 224
16.4.3 定义数据表结构 224
16.4.4 操作数据表中的数据 225
16.5 DataRelation类 228
16.6 CurrencyManager和BindingContext类 228
16.7 复习与提示 229
16.8 习题与上机实践 229
习题16 229
第17章 网络编程 231
17.1 Socket的基本概念 231
17.1.1 Socket简介 231
17.1.2 Socket编程原理 232
17.2 TCP/IP网络模型 234
17.3 获得网络端点 235
17.3.1 IPEndPoint类 235
17.3.2 IPHostEntry类 237
17.4 网络流 237
17.5 Socket通信 239
17.6 用户数据报协议 241
17.7 传输控制协议 243
17.7.1 TcpListener类 243
17.7.2 TcpClient类 243
17.8 网络聊天程序 244
17.9 电子邮件收发程序 249
17.9.1 与电子邮件系统相关的协议 249
17.9.2 Microsoft MAPI Control控件简介 250
17.9.3 使用POP3协议接收邮件 250
17.10 项目实践 251
17.11 复习与提示 255
习题20 255
上机实验 255
[实验2] 创建简单的聊天程序 256
第18章 多线程技术 257
18.1 概述 257
18.1.1 什么是线程 257
18.1.2 单线程和多线程 258
18.1.3 多线程在.NET中如何工作 258
18.2 System.Threading命名空间 258
18.3 Thread类 258
18.4 Monitor类 260
18.5 Mutex类 262
18.6 ReaderWriterLock类 263
18.7 ThreadPool类 267
18.8 WaitHandle类 269
18.9 AutorEsetEvent类 270
18.10 Timer类 273
18.11 项目实践 275
18.12 复习与提示 278
习题18 278
上机实验 278
[实验1] Thread类的方法的使用 278
[实验2] 滚动字幕的实现 279
第19章 部署应用程序 280
19.1 使用安装项目部署Windows应用程序 280
19.2 项目实践 281
19.3 本章小结 284
展开
在过去的20 年里,C 和C++已经成为商业软件的开发领域中使用最广泛的语言。它们为程
序员提供了十分灵活的操作,但同时也牺牲了一定的效率。与诸如Microsoft Visual Basic 等语言比,同等级别的C/C++应用程序往往需要更长的时间来开发。由于C/C++语言的复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与效率之间找到一个更为理想的权衡点。
目前,有些语言以牺牲灵活性的代价来提高效率。可是这些灵活性正是C/C++程序员所需
要的。这些解决方案对编程人员的限制过多,其所提供的功能难以令人满意。这些语言无法方便地同早先的系统交互,也无法很好地和当前的网络编程相结合。对于C/C++用户来说,最理想的解决方案无疑是在快速开发的同时又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保持同步并且能和已有的应用程序良好整合的环境。另外,一些C/C++开发人员还需要在必要的时候进行一些底层的编程。于是Microsoft 推出了C#。它是一种最新的、面向对
象的编程语言。它能使程序员可以快速地编写各种基于Microsoft.NET 平台的应用程序,而Microsoft.NET 提供了一系列的工具和服务来最大程度地开发和利用计算与通信相关领域的各种应用。最重要的是,C#使得C++程序员可以高效地开发程序,而保留了C/C++原有绝大部分强
大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉此类语言的开发者可以很快地转向C#。同时,C#还有兼顾效率与安全性、支持现有的网络编程新标准、消除大量程序错误和对商业过程和软件实现的更好对应的优点。
作为一本实用教程,本书详细分析和研究了C#的所有功能。本书具有以下几个显著特点:
在内容上,本书侧重于向读者介绍C#从基础到高级的内容,力图解决初学者和专业人员使
用该产品时遇到的各种疑难问题,使他们掌握使用该新产品的各种技术。每章的开头列出了本章的学习目标和学习要点。学习目标之后是正文内容。正文内容结束后为项目实践,使读者在实践中理解学习内容。最后是习题和上机实验,主要用于考察读者是否掌握了基本概念和实际操作的能力。
在编排上,为了使读者更加方便快速地学习和掌握该产品的功能,本书从基础运用到高级
运用循序渐进展开。第1~8 章:介绍.NET 的基础体系结构开发环境的搭建和使用,以及C#语言的基本知识和面向对象的基本理论和思想。第9~12 章:通过实例项目中数据结构的设计、系统结构的设计,以及源码内容的介绍,让读者全面深入地了解C#语言。第13~14 章:重点介绍文件操作和图形的处理。第15~16 章:介绍.NET 环境下数据库的使用。第17~18 章:作为进阶部分,介绍了网络编程和多线程技术。
除以上两个特点外,本书主要以项目方式来指导教学,促进学生的动手能力。
本书所有的程序都在Microsoft .Net Framework SDK 2.0 环境下调试运行通过。
本书由王乾坤担任主编,王香菊、赵震奇、华艳、胡晓敏、黄丹丹担任副主编,全书由王
乾坤统稿,高振栋主审。无锡市高等师范学校的肖敏老师和范大昭老师在成书过程中给予了多方面的指导和帮助。此外,无锡高等师范学校领导及创意与软件设计系领导对本书的编写工作
给予了有力的支持。在此,编者向所有对本书编辑工作给予支持和帮助的人表示衷心的感谢。
本书为教师配有电子教案,希望利用此电子教案,可以减轻教师负担,提高教学质量。
由于创作时间仓促,加之编者水平有限,书中难免有不足之处,欢迎广大读者朋友批评指
正,以便编者在今后的工作中不断改进。
编者
展开