《Java程序员C#开发指南》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:(美)Brian Bagnall等著;邓少鹍等译
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2003
  • ISBN:750841439X
  • 页数:410 页
图书介绍:本书循序渐进的描述了Microsoft的.NET平台,以及为该平台设计的新语言C#。书中全部章节都是进行C#与Java的对比,并附有详细生动的例子。本书先从总体上介绍了C#语言,接着深入介绍该语言的基础以及C#所特有的东西,.NET框架类库中可以访问的一些类,最后讨论Microsoft的JUMP策略。本书适于已有部分经验的Java程序员学习C#使用。

目录 1

译者序 1

作者简介 1

致谢 1

前言 1

第1章 .NFT基本原理 1

1.1 引言 1

1.2 .NET平台纵览 1

1.3 检查.NET框架的特性 2

1.3.1 多语言开发 3

1.3.2 平台及处理器独立 4

1.3.3 自动内存管理 4

1.3.4 版本支持 5

1.3.5 支持开放标准 5

1.3.6 配置简单 6

1.3.7 与非托管代码互操作的能力 7

1.3.8 提供安全 7

1.4.1 通用语言运行环境 9

1.4 理解.NET体系结构 9

1.4.2 .NET框架类库 10

1.4.3 Microsoft中间语言(MSIL) 11

1.4.4 运行时编译执行技术 11

1.5 掌握.NET从源代码到可执行文件的步骤 12

1.6 小结 13

1.7 快速解决方案 14

1.8 常见问题解答 15

2.2 C#语言 17

2.1 引言 17

第2章 C#介绍 17

2.2.1 与Java的相似处 18

2.2.2 C#与Java的不同之处 19

2.3 开始 20

2.3.1 安装.NET框架的SDK 20

2.3.2 创建第一个C#程序 21

2.3.3 编译并运行程序 22

2.3.4 使用调试工具 23

2.4 使用不同的IDE 26

2.4.1 Visual Studio.NET 27

2.4.2 其他的IDE 29

2.5 C#概述 29

2.5.1 创建媒体播放器应用程序 30

2.5.2 使用Visual Studio.NET进行快速应用程序开发 37

2.6 小结 40

2.7 快速解决方案 41

2.8 常见问题解答 41

3.2 Main()方法 43

3.1 引言 43

第3章 语言基础 43

3.2.1 命令行参数 45

3.2.2 返回值 47

3.3 单行及多行注释 49

3.4 数据类型及通用类型系统 56

3.5 变量 57

3.6 常量 59

3.7 赋值语句 59

3.8 运算符 62

3.8.1 算术运算符 63

3.8.2 赋值运算符 64

3.8.3 递增和递减运算符 65

3.8.4 关系运算符 65

3.8.5 逻辑运算符 66

3.8.6 位运算符 67

3.8.7 三元操作符 68

3.8.8 运算符优先权 68

3.9 预处理指令 69

3.9.2 #if、#elif、#else和#endif 70

3.9.1 #define和#undef 70

3.9.3 #error和#warning 72

3.9.4 #region和#endregion 74

3.9.5 #line 74

3.10 名字空间 76

3.11 小结 77

3.12 快速解决方案 77

3.13 常见问题解答 79

4.2 字符串 81

第4章 程序结构 81

4.1 引言 81

4.2.1 WriteLine方法 82

4.2.2 创建字符串 82

4.2.3 逐字的字符串文本 84

4.2.4 StringBuilder类 85

4.2.5 使用正则表达式 86

4.3 流程控制 88

4.3.1 分支语句 88

4.3.2 迭代语句 91

4.3.3 跳转语句 92

4.4 数组 94

4.4.1 声明及初始化数组 94

4.4.2 使用params关键字 95

4.4.3 多维数组 96

4.5 foreach语句 101

4.6 索引 103

4.6.1 实现索引 103

4.6.2 多个索引 106

4.6.3 多参数索引 108

4.7 集合 109

4.8 异常 113

4.8.1 捕获异常 113

4.8.2 抛出异常 114

4.9 小结 120

4.10 快速解决方案 121

4.11 常见问题解答 122

5.2 使用类 123

第5章 对象和类 123

5.1 引言 123

5.2.1 访问控制 124

5.2.2 类修饰符 124

5.2.3 抽象类 128

5.2.4 密封类 128

5.2.5 实例变量 128

5.2.6 静态变量 129

5.3 使用方法 131

5.3.1 访问修饰符 133

5.3.2 方法参数 134

5.3.3 重载方法 137

5.4 创建对象 139

5.5 销毁对象 144

5.5.1 内存管理和碎片收集 144

5.5.2 C#的析构器 145

5.6 小结 148

5.8 常见问题解答 149

5.7 快速解决方案 149

第6章 面向对象编程 151

6.1 引言 151

6.2 继承 151

6.2.1 定义基类 153

6.2.2 调用基类的构造器 154

6.3 多态性 157

6.3.1 抽象类 158

6.3.2 修饰符abstract 161

6.3.3 修饰符virtual 162

6.3.4 修饰符override 164

6.3.5 修饰符new 168

6.4 内部类 171

6.5 用户接口 172

6.5.1 创建一个接口 173

6.5.2 声明接口 173

6.5.3 接口的实现 174

6.5.4 外部接口的实现 181

6.7 快速解决方案 184

6.6 小结 184

6.8 常见问题解答 185

第7章 C#的其他特点 186

7.1 引言 186

7.2 性质 186

7.3 只读字段 189

7.4 枚举 189

7.5 装箱和拆箱 192

7.5.2 拆箱 193

7.5.1 装箱 193

7.6 操作符重载 194

7.6.1 一元操作符重载 197

7.6.2 二元操作符重载 200

7.6.3 Equals()方法 200

7.7 自定义转换 200

7.7.1 implicit操作符 201

7.7.2 explicit操作符 202

7.8 结构 204

7.8.1 结构的定义 205

7.8.2 结构的使用 207

7.9 小结 210

7.10 快速解决方案 210

7.11 常见问题解答 211

第8章 委派和事件 213

8.1 引言 213

8.2 委派 213

8.3.1 声明 214

8.3 将委派作为回调函数 214

8.3.2 实例化 216

8.3.3 调用 217

8.3.4 实现回调函数 217

8.4 将委派用于事件处理 220

8.4.1 Java中的事件处理 221

8.4.2 C#中的事件处理 223

8.5 多播 228

8.6.1 将委派声明成静态变量 231

8.6 高级委派用法 231

8.6.2 委派和线程的创建 232

8.7 小结 233

8.8 快速解决方案 234

8.9 常见问答解答 234

第9章 属性和配件 236

9.1 引言 236

9.2 使用属性 236

9.2.1 使用属性 237

9.2.2 创建自定义属性 240

9.3 使用映射 244

9.4 创建配件 250

9.4.1 显示数据 250

9.4.2 构造配件 251

9.4.3 多模块配件 251

9.5 版本方案 253

9.6 小结 256

9.7 快速解决方案 256

9.8 常见问题解答 257

第10章 多线程 258

10.1 引言 258

10.2 线程 258

10.3 创建线程 259

10.4 线程管理 263

10.5 调度线程 265

10.6 线程同步 269

10.6.1 使用lock语句 269

10.6.2 使用监控类 271

10.7 避免死锁和资源缺乏 273

10.8 小结 277

10.9 快速解决方案 278

10.10 常见问题解答 279

第11章 使用I/O流 280

11.1 引言 280

11.2 文件系统 280

11.2.1 目录 280

11.2.2 文件 283

11.3 流 286

11.3.1 Stream 287

11.3.2 FileStream 288

1 1.3.3 MemoryStream 288

11.3.4 BufferedStream 291

11.4 数据编码类型 291

11.5 文本 294

11.5.1 StreamReader和StreamWriter 295

11.5.2 StringReader和StringWriter 296

11.6.1 服务器端 297

11.6 网络I/O 297

11.6.2 客户端 299

11.7 同步和异步 301

11.8 Web流 304

11.9 串行化 305

11.9.1 创建可串行化的对象 305

11.9.2 串行化一个对象 306

11.9.4 过渡过程数据 307

11.9.3 对象的并行化 307

11.9.5 并行化操作 308

11.10 小结 310

11.11 快速解决方案 310

11.12 常见问题解答 311

第12章 使用Windows窗体创建用户界面 313

12.1 引言 313

12.2 Windows窗体类 313

12.3 创建Windows窗体应用程序 314

12.4 使用控件 316

12.4.2 基本控件 317

12.4.1 添加控件 317

12.5 事件处理 320

12.6 使用文本编辑器 321

12.7 使用Visual Studio.NET 324

12.8 小结 327

12.9 快速解决方案 328

12.10 常见问题解答 329

13.2 Web Service综述 330

第13章 C#的Web开发 330

13.1 引言 330

13.3 创建Web Service 331

13.3.1 连接数据库 332

13.3.2 建立Web Service 335

13.3.3 运行和测试Web Service 337

13.3.4 用VS.NET创建图书Web Service 338

13.4 消费Web Service 341

13.4.1 Web Service描述语言 342

13.4.2 创建代理对象 343

13.5 Web窗体概述 347

13.6 使用Web窗体控件 350

13.6.1 访问HTML页的Web控件 351

13.6.2 数据授权控件 351

13.6.3 有效性检查控件 352

13.6.4 复杂的Web控件 353

13.7 创建Web窗体应用程序 356

13.8 小结 360

13.9 快速解决方案 361

13.10 常见问题解答 362

第14章 使用ActiveX、COM和非托管代码 363

14.1 引言 363

14.2 使用非托管代码 364

14.3 使用平台调用工具 366

14.4 使用COM组件 368

14.4.1 创建简单的COM组件 369

14.4.2 运行时可调用包 371

14.5.1 ActiveX控件和Windows窗体控件的差别 380

14.5 使用ActiveX控件 380

14.5.2 使用ActiveX控件导入工具(AxImp.exe) 381

14.5.3 使用Visual Studio.NET导入ActiveX控件 382

14.6 使用指针 385

14.6.1 不安全代码 385

14.6.2 unsafe关键字 386

14.6.3 fixed关键字 386

14.7 小结 388

14.8 快速解决方案 389

14.9 常见问题解答 390

第15章 Microsoft的JUMP(Java用户移植途径) 391

15.1 引言 391

15.2 什么是J# 392

15.3 使用Visual J# 393

15.4 创建一个简单的Visual J#应用程序 396

15.5 小结 406

15.6 快速解决方案 407

15.7 常见问题解答 407

附录 C#关键字与Java中的对应关键字 408