《深入浅出C#程序设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:郭仁春主编;葛晓宇编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302449690
  • 页数:350 页
图书介绍:本书主要内容包括C#语法、面向对象编程、Windows编程、数据库、GDI+绘图、网络和线程等章节。ASP.NET网站和WPF等内容不包括在内,这主要是因为这些内容很复杂,不是短篇幅能阐述的。

第1章 初识C 1

1.1 Visual Studio.NET简介 1

1.2.NET Framework简介 1

1.3 C#简介 2

1.4 Visual Studio.NET开发环境 2

第2章 接触C 4

2.1 第一个C#程序 4

2.2 关于控制台程序 5

2.3 C#程序基本结构 6

2.3.1 最简单的C#结构 6

2.3.2 控制台基本输入和输出语句 6

2.4 编程习惯 8

第3章 C#语法 10

3.1 变量与常量 10

3.1.1 数值类型 10

3.1.2 变量定义 12

3.1.3 常量定义 13

3.1.4 数据类型转换 14

3.2 运算符 15

3.2.1 算术运算符 15

3.2.2 关系运算符 16

3.2.3 逻辑运算符 16

3.2.4 位运算符 17

3.2.5 赋值运算符 17

3.2.6 三元条件运算符 17

3.2.7 运算符的优先级 18

3.3 选择语句 18

3.3.1 if语句 18

3.3.2 switch语句 20

3.4 循环 21

3.4.1 while 21

3.4.2 do while 22

3.4.3 for 22

3.4.4 foreach语句 23

3.4.5 跳转语句 23

3.5 异常 25

3.5.1 try catch语句 25

3.5.2 throw语句 26

第4章 字符串、时间和简单数组 27

4.1 字符串 27

4.1.1 字符串的定义 27

4.1.2 转义字符 27

4.1.3 字符串的操作 28

4.1.4 数值与字符串的相互转化 30

4.1.5 占位符 31

4.1.6 string.Format() 32

4.1.7 格式化字符串 32

4.1.8 StringBuider 34

4.1.9 字符串索引 35

4.2 简单数组 35

4.2.1 一维数组 35

4.2.2 多维数组 37

4.2.3 锯齿数组 38

4.2.4 数组应用举例 38

4.3 时间 40

4.3.1 DateTime 40

4.3.2 日期时间字符串的显示格式 41

4.3.3 DateTime的计算 43

4.3.4 TimeSpan 43

第5章 面向对象编程 45

5.1 面向对象 45

5.2 类和对象 46

5.3 封装、继承、多态 47

5.4 程序结构 48

5.5 名称空间 51

5.6 部分类 52

5.7 类的成员 53

5.7.1 访问修饰符 53

5.7.2 字段 53

5.7.3 方法 54

5.7.4 属性 55

5.8 过程代码写在哪里 57

5.9 方法重载 58

5.10 构造函数 60

5.11 析构函数 63

5.12 this 63

5.13 静态成员 64

5.14 运算符重载 67

5.15 引用类型与值类型 70

5.16 装箱与拆箱 71

5.17 函数的参数 72

5.18 索引 78

5.19 结构 81

5.20 枚举 82

第6章 继承与多态 83

6.1 继承 83

6.2 base关键字 84

6.3 派生类的构造函数 85

6.4 Object类 87

6.5 多态 87

6.6 隐藏方法new 89

6.7 虚方法virtual-override 90

6.8 抽象类与抽象方法 91

6.9 密封类和密封方法 92

6.10 ToString() 92

6.11 接口interface 93

第7章 委托与事件 96

7.1 委托定义 96

7.2 委托参数 98

7.3 多播委托 100

7.4 匿名委托 101

7.5 委托耦合 101

7.6 关于事件 103

7.7 发布订阅 104

7.8 事件参数 106

7.9 事件句柄EventHandler 108

7.10 事件参数EventArgs 110

第8章 泛型 113

8.1 泛型概念 113

8.2 泛型类 113

8.2.1 定义泛型类 113

8.2.2 泛型类的默认值default 115

8.2.3 泛型约束 116

8.3 泛型接口 117

8.4 泛型结构 118

8.5 泛型方法 119

第9章 数组与集合 121

9.1 对象数组 121

9.2 Array类 122

9.2.1 Array数组创建 122

9.2.2 Array数组复制 123

9.2.3 Array数组排序 124

9.3 元组 125

9.4 列表 126

9.4.1 ArrayList 126

9.4.2 List<T> 127

9.5 队列 132

9.6 栈 133

9.7 链表 133

9.8 有序列表 134

9.9 字典 134

9.10 有序字典 136

9.11 Lookup类 136

9.12 集 137

9.13 可观察集合 138

9.14 位数组 139

9.14.1 BitArray 139

9.14.2 BitVector32 140

第10章 Windows窗体 143

10.1 第一个窗体 143

10.2 第一个按钮 144

10.3 多个窗体 144

10.4 认识窗体类 145

10.4.1 三个文件 145

10.4.2 Forml.cs 145

10.4.3 Forml.Designer.cs 146

10.5 简易计算器 147

10.6 窗体和控件的属性 148

10.6.1 大小和位置 148

10.6.2 控件的停泊与锚点 148

10.6.3 “捕捉按钮”小游戏 148

10.6.4 颜色设置 149

10.7 鼠标键盘事件 149

10.7.1 鼠标事件 149

10.7.2 键盘事件 151

10.7.3 两个特殊的键盘事件 152

10.8 事件的一些问题 153

10.9 多文档界面 154

10.10 窗体的状态 155

10.11 窗体事件的执行顺序 156

10.12 两个窗体之间传递数据 157

第11章 Windows控件 160

11.1 Windows工具箱 160

11.2 公共控件 160

11.2.1 RadioButton 161

11.2.2 CheckBox 162

11.2.3 ListBox 163

11.2.4 ComboBox 167

11.2.5 TreeView 168

11.2.6 PictureBox控件 170

11.3 菜单和工具栏 171

11.3.1 MenuStrip 171

11.3.2 ToolStrip 172

11.3.3 Context Men uStrip 173

11.4 容器控件 173

11.4.1 FlowLayoutPanel 173

11.4.2 TableLayoutPanel 173

11.4.3 SplitContainer 173

11.4.4 TabControl 174

11.5 对话框 174

11.5.1 ColorDialog和FontDialog 174

11.5.2 FolderBrowserDialog、OpenFileDialog和SaveFileDialog 175

第12章 文件操作 177

12.1 Directory和DirectoryInfo 177

12.1.1 Directory 177

12.1.2 DirectoryInfo 177

12.2 File和FileInfo 178

12.2.1 File 178

12.2.2 FileInfo 178

12.3 Path和DriveInfo 178

12.3.1 Path 178

12.3.2 相对路径 179

12.3.3 DriveInfo 179

12.4 文件读写 180

12.4.1 File读文件 180

12.4.2 写入文件 180

12.5 流 181

12.5.1 读写二进制文件 181

12.5.2 读写文本文件 183

12.6 资源管理器 184

第13章 数据库 187

13.1 C#与数据库的关系 187

13.2 SQL语言 188

13.3 ADO.NET 191

13.4 C#调用Access数据库 193

13.4.1 OleDbConnection 193

13.4.2 OleDbCommand 195

13.4.3 OleDbDataReader 197

13.4.4 OleDbDataAdapter 198

13.5 DataTable 199

13.5.1 DataTable的定义 200

13.5.2 DataColumn 200

13.5.3 DataRow 202

13.5.4 DataTable提取数据库数据 204

13.5.5 编辑DataTable中的数据 205

13.5.6 DataRow的状态 208

13.5.7 DataRow的版本 210

13.6 DataView 211

13.7 DataSet 213

13.7.1 DatSet与DataTable 213

13.7.2 DataSet关系 216

13.7.3 DataSet约束 218

13.8 DataGridView 222

13.8.1 行和列 222

13.8.2 单元格 223

13.8.3 行宽和列宽 224

13.8.4 冻结 225

13.8.5 排序 225

13.8.6 隐藏 225

13.8.7 列包含控件 225

13.8.8 虚拟模式 227

13.9 服务器资源管理器 227

13.10 BindingSource 229

13.10.1 BindingSource的简单应用 229

13.10.2 BindingSource的定位 229

13.10.3 BindingSource的排序过滤与查找 232

13.10.4 Binding类 233

13.11 可视化数据控件 235

13.11.1 DataSet控件 235

13.11.2 BindingNavigator控件 236

13.12 窗体控件与数据库 237

13.12.1 ComboBox 237

13.12.2 窗体控件与DataSet 239

13.12.3 控件的数据库向导 241

13.13 综合实例 242

13.13.1 创建数据库 242

13.13.2 创建主窗体 244

13.13.3 创建操作数据库的公共类 244

13.13.4 创建图书类别窗体 246

13.13.5 创建增加图书窗体 249

13.13.6 创建编辑图书窗体 251

13.13.7 创建图书查询窗体 253

13.14 C#调用SQL Server数据库 254

13.14.1 关于SQL Server Express数据库 254

13.14.2 创建SQL Server Express数据库 255

13.14.3 C#调用SQL Server Express数据库 258

第14章 Lambda表达式与扩展方法 260

14.1 代码简化的历程 260

14.1.1 代码简化1 260

14.1.2 代码简化2 263

14.1.3 代码简化3 264

14.1.4 代码简化4 265

14.1.5 代码简化5 265

14.1.6 代码简化6 266

14.2 Lambda表达式 266

14.3 Func,Action和Predicate 268

14.3.1 Func 268

14.3.2 Action 269

14.3.3 Predicate 269

14.4 委托在List<T>中的简单应用 269

14.5 扩展方法 270

第15章 Linq 273

15.1 准备数据 273

15.2 投影和筛选 274

15.3 排序 276

15.4 分组 277

15.5 复合from 278

15.6 延迟执行与立即执行 280

15.6.1 延迟执行 280

15.6.2 立即执行 282

第16章 GDI+绘图 283

16.1 GDI与GDI十 283

16.2 绘制简单图形 283

16.3 GDI+绘图原理 284

16.4 Color 285

16.4.1 RGB 285

16.4.2 ARGB 285

16.4.3 网络安全色 286

16.4.4 Color结构 286

16.5 Pen和Brush 286

16.5.1 Pen 286

16.5.2 Brush 287

16.6 Graphics 287

16.7 Point、Size和Rectangle 288

16.7.1 Point和PointF 288

16.7.2 Size和SizeF 289

16.7.3 Rectangle和RectangleF 289

16.8 绘制图形 289

16.9 绘制文本 290

16.10 绘制图片 291

16.11 图形变换 292

16.12 屏幕刷新问题 294

16.13 Invalidate 295

16.14 橡皮筋 297

16.15 Image和BitMap 298

16.16 ColorMatrix 301

16.17 绘制函数曲线 302

16.17.1 简单函数曲线 302

16.17.2 动态曲线 303

16.18 不使用OnPaint、Invalidate的方法 305

第17章 网络编程 306

17.1 网络基本概念 306

17.1.1 TCP/IP 306

17.1.2 Socket(套接字) 307

17.1.3 其他相关概念 307

17.1.4 客户与服务器 308

17.2 Socket程序 308

17.3 TCP程序 312

17.4 UDP程序 314

17.4.1 UDP客户端 314

17.4.2 UDP服务端 315

17.5 异步通信 316

17.5.1 同步和异步 316

17.5.2 Socket异步连接 316

17.5.3 Socket异步连接 319

17.6 聊天程序 320

17.6.1 客户端 321

17.6.2 服务端 322

第18章 线程 324

18.1 进程与线程 324

18.2 异步委托 324

18.2.1 同步委托 324

18.2.2 异步委托 325

18.2.3 IAsyncResult 326

18.2.4 异步回调AsyncCallback 327

18.2.5 异步回调的Lambda表达式 330

18.3 线程 330

18.3.1 Thread 330

18.3.2 给线程命名 332

18.3.3 给线程传递参数 332

18.3.4 线程的控制 333

18.3.5 优先级 335

18.4 线程池 336

18.5 争用 337

18.6 Windows窗体的线程问题 338

18.6.1 Timer控件的问题 338

18.6.2 System.Threading.Timer类 339

18.6.3 System.Timers类 340

18.7 BackgroundWorker 341

18.7.1 Background Worker控件 341

18.7.2 Background Worker类 344

18.8 窗体与线程交换数据的一种简易方法 345

第19章 关于变量命名 347

后记 350