C#3.0: a beginner’s guide

副标题:无

作   者:(美)Herbert Schildt著;付勇译

分类号:

ISBN:9787302214335

微信扫一扫,移动浏览光盘

简介

  《新手学C# 3.0(第3版)》由世界顶级程序设计大师和畅销书作者Herbert Schildt带领您掌握C#的用法——微软.NET Framework最重要的编程语言。《新手学C# 3.0(第3版)》首先介绍了如何创建、编译和运行C#程序,然后介绍了数据类型、运算符、控制语句、方法、类和对象,接着介绍了继承、接口、属性、索引器、异常、事件、名称空间、泛型等。此外,《新手学C# 3.0(第3版)》还包括了C# 3.0新增的功能,如LINQ、拉姆达表达式和匿名类型等。在《新手学C# 3.0(第3版)》的帮助下,读者可以快速地掌握C# 3.0的编程方法。   《新手学C# 3.0(第3版)》特色   关键技能与概念——每一章包括的具体技能   专家解答——通过“问”和“答”提供更多的信息和提示   试一试——提供用于应用技能的实践练习   注意——与正在介绍的主题相关的经验信息   自测题——每章末尾通过测试题来检验本章所学知识   带注释的语法——示例代码中的注释说明了当前代码体现的编程技术

目录

第1章c#基础 1

1.1c#家族树 2

1.1.1c语言:现代编程的开端 2

1.1.2oop与c++的产生 2

1.1.3internet与java的出现 3

1.1.4c#的产生 4

1.2c#的发展 5

1.3c#与.net framework的关系 6

1.3.1.net framework的定义 6

1.3.2公共语言运行库的工作方式 6

1.3.3托管与非托管代码 7

1.3.4公共语言规范 7

1.4面向对象编程 8

1.4.1封装 8

1.4.2多态性 9

1.4.3继承 9

1.5创建、编译和运行第一个

c#程序 10

1.5.1获得c# 3.0编译器 11

1.5.2使用visual studio ide 11

.1.5.3使用c#命令行编译器csc.exe 15

1.6逐行分析第一个样本程序 16

1.7处理语法错误 18

1.8程序变体 19

1.9使用变量 19

1.10double数据类型 22

1.11两种控制语句 25

1.11.1if语句 25

1.11.2for循环 27

1.12使用代码块

1.13分号和定位 30

1.14c#关键字 32

1.15标识符 33

1.16c#类库 34

第2章数据类型与运算符简介 37

2.1数据类型重要的原因 38

2.2c#的值类型 38

2.3浮点类型 41

2.4decimal类型 42

2.5字符 43

2.6bool类型 44

2.7一些输出选项 45

2.8字面值 48

2.8.1十六进制字面值 49

2.8.2字符转义序列 49

2.8.3字符串字面值 50

2.9详细介绍变量 52

2.9.1初始化变量 52

2.9.2动态初始化 53

2.9.3隐式类型变量 53

2.10变量的作用域和生命周期 55

2.11运算符 58

2.12算术运算符 58

2.13关系与逻辑运算符 61

2.14赋值运算符 66

2.14.1复合赋值 66

2.14.2赋值中的类型转换 67

2.15强制转换不兼容的类型 68

2.16运算符优先级 70

2.17表达式中的类型转换 70

第3章程序控制语句 77

3.1从键盘输入字符 78

3.2if语句 79

3.2.1嵌套if 80

3.2.2if-else-if梯次 81

3.3switch语句 82

3.4for循环 89

3.4.1for循环的一些变体 91

3.4.2在for循环内声明循环控制变量 94

3.5while循环 95

3.6do-while循环 96

3.7使用break退出循环 101

3.8使用continue 103

3.9goto 104

3.10嵌套循环 109

第4章类、对象及方法 113

4.1类的基础知识 114

4.1.1类的一般形式 114

4.1.2定义类 115

4.2创建对象的方式 119

4.3引用变量与赋值 120

4.4方法 120

4.4.1向vehicle类中添加方法 121

4.4.2从方法返回 123

4.4.3返回值 124

4.4.4使用形参 126

4.4.5向vehicle中添加一个参数化方法 128

4.5构造函数 135

4.5.1参数化构造函数 136

4.5.2向vehicle类中添加一个构造函数 137

4.6再次介绍new运算符 139

4.7垃圾收集与析构函数 139

4.8this关键字 140

第5章更多数据类型与运算符 145

5.1数组 146

5.2多维数组 152

5.2.1二维数组 152

5.2.2三维或多维数组 153

5.2.3初始化多维数组 153

5.3交错数组 154

5.4数组引用赋值 156

5.5使用数组的length属性 157

5.6创建隐式类型数组 160

5.7foreach循环 164

5.8字符串 167

5.8.1构造string 167

5.8.2对字符串进行操作 168

5.8.3字符串的数组 170

5.8.4字符串是不可变的 171

5.9按位运算符 172

5.9.1按位and、or、xor和not运算符 173

5.9.2移位运算符 177

5.9.3按位复合赋值 179

5.10“?”运算符 182

第6章详细介绍方法与类 187

6.1控制对类成员的访问权限 188

6.2向方法传递对象引用 194

6.3使用ref和out形参 197

6.3.1使用ref 198

6.3.2使用out 199

6.4使用可变数量的实参 202

6.5返回对象 204

6.6方法重载 206

6.7重载构造函数 212

6.8main()方法 218

6.8.1从main()中返回值 218

6.8.2向main()传递实参 219

6.9递归 221

6.10理解static 222

6.11static构造函数和类 225

第7章运算符重载、索引器及属性 231

7.1运算符重载 232

7.1.1operator方法的一般形式 232

7.1.2重载二元运算符 233

7.1.3重载一元运算符 235

7.1.4增加灵活性 239

7.1.5重载关系运算符 244

7.1.6关于运算符重载的提示与限制 246

7.2索引器 247

7.2.1多维索引器 252

7.2.2索引器限制 254

7.3属性 254

7.3.1自动实现属性 258

7.3.2属性限制 259

7.4使用带存取器的访问修饰符 259

第8章继承 271

8.1继承基础知识 272

8.2成员访问和继承 275

8.3使用受保护访问 278

8.4构造函数与继承 279

8.5继承与名称隐藏 285

8.6使用base访问隐藏名称 286

8.7创建多层层次结构 291

8.8何时调用构造函数 294

8.9基类引用和派生对象 295

8.10虚方法与重写 298

8.10.1重写方法的原因 301

8.10.2应用虚方法 301

8.11使用抽象类 304

8.12使用sealed关键字防止继承 308

8.13object类 309

第9章接口、结构与枚举 315

9.1接口 316

9.2使用接口引用 320

9.3接口属性 328

9.4接口索引器 330

9.5接口可以继承 332

9.6显式实现 333

9.7结构 336

9.8枚举 338

9.8.1初始化枚举 340

9.8.2指定枚举的底层类型 340

第10章异常处理 343

10.1system.exception类 344

10.2异常处理基础知识 344

10.2.1使用try和catch 344

10.2.2一个简单的异常示例 345

10.2.3第二个异常示例 346

10.3未捕获异常的后果 347

10.4异常有助于适当地

处理错误 349

10.5使用多个catch子句 350

10.6捕获所有异常 351

10.7try块可以嵌套 352

10.8抛出异常 353

10.9使用finally 355

10.10详述异常 357

10.11派生异常类 359

10.12捕获派生类异常 361

10.13使用checked和unchecked 366

第11章使用i/o 371

11.1构建在流基础上的c# i/o 372

11.1.1字节流与字符流 372

11.1.2预先定义的流 372

11.2各种流类 372

11.2.1stream类 373

11.2.2字节流类 374

11.2.3字符流包装器类 374

11.2.4二进制流 376

11.3控制台i/o 376

11.3.1读取控制台输入 376

11.3.2编写控制台输出 378

11.4filestream和面向字节的文件i/o 379

11.4.1打开和关闭文件 380

11.4.2从filestream中读取字节 382

11.4.3写人文件 383

11.5基于字符的文件i/o 385

11.5.1使用streamwriter 386

11.5.2使用streamreader 388

11.6重定向标准流 389

11.7读、写二进制数据 393

11.7.1binarywriter 393

11.7.2binaryreader 394

11.7.3说明二进制i/o 395

11.8随机访问文件 397

11.9将数值字符串转换成它们的内部表示 399

第12章委托、事件与名称空间 411

12.1委托 412

12.1.1使用实例方法作为委托 415

12.1.2多播 416

12.1.3为什么使用委托 418

12.2匿名方法 419

12.3事件 422

12.3.1多播事件示例 424

12.3.2通过事件使用匿名方法 426

12.4名称空间 428

12.4.1声明名称空间 428

12.4.2using 431

12.4.3using的第二种形式 432

12.4.4名称空间可以累加 433

12.4.5名称空间可以嵌套 434

12.4.6全局名称空间 436

第13章泛型 441

13.1泛型的概念 442

13.2泛型的基本原理 442

13.2.1基于类型实参的不同泛型类型 445

13.2.2泛型提高类型安全性 445

13.3包含两个类型形参的泛型类 448

13.4约束类型 450

13.4.1使用基类约束 451

13.4.2使用约束在两个类型形参之间建立关系 453

13.4.3使用接口约束 454

13.4.4使用new( )构造函数约束 456

13.4.5引用类型约束和值类型约束 458

13.4.6使用多种约束 460

13.5创建类型形参的默认值 461

13.6泛型结构 463

13.7泛型方法 464

13.7.1使用显式类型实参调用泛型方法 467

13.7.2在泛型方法中使用约束 467

13.8泛型委托 468

13.9泛型接口 470

第14章linq 简 介 481

14.1linq的定义 482

14.2linq的基本原理 483

14.2.1简单查询 483

14.2.2查询可以多次执行 485

14.2.3查询中的数据类型如何关联 486

14.2.4查询的一般形式 487

14.3使用where过滤值 488

14.4使用orderby给结果排序 490

14.5仔细分析select 491

14.6使用group分组结果 494

14.7使用into创建继续 496

14.8使用let在查询中创建变量 498

14.9使用join连接两个序列 499

14.10匿名类型和对象初始化器 502

14.11创建分组连接 505

14.12查询方法和拉姆达表达式 508

14.12.1基本查询方法 508

14.12.2拉姆达表达式 509

14.12.3使用查询方法创建查询 510

14.12.4更多与查询相关的扩展方法 512

14.12.5延迟查询执行和即时查询执行 515

14.13进一步研究扩展方法 516

14.14进一步研究拉姆达表达式 518

14.14.1表达式拉姆达 518

14.14.2语句拉姆达 520

第15章预处理程序、rtti、可空类型和其他高级主题 525

15.1预处理程序 526

15.1.1#define 526

15.1.2#if和#endif 526

15.1.3#else和#elif 528

15.1.4#undef 530

15.1.5#error 531

15.1.6#warning 531

15.1.7#line 531

15.1.8#region和#endregion 531

15.1.9#pragma 532

15.2运行时类型标识 532

15.2.1使用is测试类型 532

15.2.2使用as 533

15.2.3使用typeof 534

15.3可空类型 534

15.3.1“??”运算符 536

15.3.2可空对象与关系和逻辑运算符 537

15.4不安全代码 538

15.4.1指针简介 538

15.4.2不安全的关键字 540

15.4.3使用fixed 541

15.5属性 542

15.5.1conditional属性 543

15.5.2obsolete属性 544

15.6转换运算符 545

15.7集合简介 548

15.7.1集合的基础知识 549

15.7.2集合示例研究:创建一个动态数组 550

15.8其他关键字 555

15.8.1internal访问修饰符 555

15.8.2sizeof 556

15.8.3lock 556

15.8.4readonly 556

15.8.5stackalloc 557

15.8.6using语句 557

15.8.7const和volatile 558

15.8.8partial修饰符 558

15.8.9yield 561

15.8.10extern 561

15.9展望 561

附录a自测题答案 563


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

C#3.0: a beginner’s guide
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon