图书介绍

C# 3.0完全参考手册【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

C# 3.0完全参考手册
  • (美)HerbertSchildt著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302220725
  • 出版时间:2010
  • 标注页数:860页
  • 文件大小:48MB
  • 文件页数:875页
  • 主题词:C语言-程序设计-技术手册

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C# 3.0完全参考手册PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第Ⅰ部分C#语言3

第1章C#的起源3

1.1 C#的族谱3

1.1.1 C语言:现代程序设计的开端3

1.1.2 OOP和C++++语言的创建4

1.1.3 Intemet和Java的出现4

1.1.4 C#的创建5

1.1.5 C#的发展6

1.2 C#如何与.NET Framework相关7

1.3公共语言运行库的工作原理7

1.4托管和非托管代码8

第2章C#概述9

2.1面向对象程序设计9

2.1.1封装10

2.1.2多态性10

2.1.3继承11

2.2简单示例一11

2.2.1 C#命令行编译器csc.exe12

2.2.2使用Visual Studio IDE13

2.2.3逐行分析第一个示例程序17

2.3处理语法错误18

2.4改写示例一19

2.5简单示例二20

2.6另一种数据类型21

2.7两种控制语句23

2.7.1 if语句23

2.7.2 for循环25

2.8代码块26

2.9分号、定位和缩进28

2.10 C#语言的关键字28

2.11标识符29

2.12.NET Framework类库30

第3章 数据类型、直接量和变量31

3.1数据类型的重要性31

3.2 C#的数据类型31

3.3整数类型32

3.4浮点类型34

3.5 decimal类型36

3.6字符类型37

3.7布尔类型38

3.8自定义输出格式39

3.9直接量42

3.9.1十六进制直接量42

3.9.2字符转义序列43

3.9.3字符串直接量43

3.10变量45

3.10.1初始化变量45

3.10.2动态初始化变量46

3.10.3隐式类型的变量46

3.11变量的作用域和生命周期48

3.12类型转换50

3.12.1自动类型转换50

3.12.2强制转换不兼容的类型51

3.13表达式中的类型转换54

第4章 运算符59

4.1算术运算符59

4.2关系和逻辑运算符63

4.3赋值运算符67

4.4按位运算符68

4.4.1按位与、或、异或和取反运算符69

4.4.2移位运算符75

4.4.3按位复合赋值77

4.5问号(?)运算符78

4.6空白符和圆括号79

4.7运算符优先级79

第5章 程序控制语句81

5.1 if语句81

5.1.1 if语句嵌套82

5.1.2 if-else-if阶梯结构83

5.2 switch语句84

5.3 for循环88

5.4 while循环96

5.5 do-while循环97

5.6 foreach循环98

5.7使用break语句退出循环98

5.8使用continue语句101

5.9 goto语句102

第6章 类和对象105

6.1类基础105

6.1.1类的基本形式105

6.1.2定义类106

6.2如何创建对象110

6.3引用类型的变量和赋值111

6.4方法111

6.4.1给Building类添加方法112

6.4.2从方法返回114

6.4.3返回值115

6.4.4使用参数117

6.4.5给Building类添加带参数的方法119

6.4.6避免产生不可到达的代码121

6.5构造函数121

6.5.1带参数的构造函数122

6.5.2给Building类添加构造函数123

6.6 new运算符124

6.7垃圾回收和析构函数125

6.8 this关键字127

第7章 数组和字符串131

7.1数组131

7.2多维数组135

7.2.1二维数组135

7.2.2三维或更多维的数组136

7.2.3初始化多维数组137

7.3交错数组138

7.4数组引用赋值141

7.5 Length属性142

7.6隐式类型的数组145

7.7 foreach循环147

7.8字符串150

7.8.1构造字符串151

7.8.2操作字符串151

7.8.3字符串数组154

7.8.4字符串是不可变的156

7.8.5在switch语句中使用字符串157

第8章 方法和类159

8.1控制对类成员的访问159

8.1.1 C#的访问修饰符159

8.1.2公有访问和私有访问的应用161

8.1.3访问控制:案例分析161

8.2给方法传递引用166

8.3使用ref和out参数170

8.3.1使用ref关键字170

8.3.2使用out关键字172

8.3.3对引用参数使用ref和out174

8.4使用数量可变的参数176

8.5返回对象178

8.6方法重载182

8.7构造函数重载187

8.8对象初始化器193

8.9 Main()方法194

8.9.1从Main()返回值194

8.9.2给Main()传递参数194

8.10递归196

8.11理解static关键字199

8.12静态类204

第9章 运算符重载207

9.1运算符重载基础207

9.1.1重载二元运算符208

9.1.2重载一元运算符210

9.2处理针对C#内置类型的运算214

9.3重载关系运算符219

9.4重载true和false221

9.5重载逻辑运算符223

9.5.1一种重载逻辑运算符的简单方法223

9.5.2使用短路运算符226

9.6转换运算符230

9.7运算符重载的注意事项234

9.8运算符重载的另一个示例235

第10章 索引器和属性239

10.1索引器239

10.1.1创建一维索引器239

10.1.2索引器重载243

10.1.3索引器不需要一个潜在的数组245

10.1.4多维索引器246

10.2属性249

10.2.1自动实现属性254

10.2.2对属性使用对象初始化器254

10.2.3属性限制255

10.3对存取器使用访问修饰符255

10.4使用索引器和属性258

第11章 继承265

11.1继承基础265

11.2成员访问和继承268

11.3构造函数和继承272

11.4继承和名称隐藏279

11.5创建多级层次结构282

11.6构造函数的调用285

11.7基类引用和派生对象286

11.8虚方法和重写290

11.8.1重写方法的原因294

11.8.2应用虚方法294

11.9使用抽象类298

11.10使用sealed来阻止继承302

11.11 object类302

11.11.1装箱和拆箱304

11.11.2 object是否是通用数据类型306

第12章 接口、结构和枚举309

12.1接口309

12.2使用接口类型的引用314

12.3接口属性317

12.4接口索引器318

12.5接口的继承320

12.6接口继承引起的名称隐藏321

12.7显式实现321

12.8在接口和抽象类之间选择324

12.9.NET标准接口324

12.10结构325

12.11枚举330

12.11.1初始化一个枚举332

12.11.2指定枚举的基本类型332

12.11.3使用枚举332

第13章 异常处理335

13.1 System.Exception类335

13.2异常处理的基础335

13.2.1使用try和catch336

13.2.2一个简单的异常示例336

13.2.3另一个异常示例338

13.3未捕获异常的后果339

13.4使用多个catch子句341

13.5捕获所有的异常342

13.6嵌套try块344

13.7抛出异常345

13.8 finally语句347

13.9进一步分析异常类349

13.10派生异常类352

13.11捕获派生类异常356

13.12 checked语句和unchecked语句357

第14章I/O系统361

14.1 C#的I/O依赖于数据流361

14.1.1字节数据流和字符数据流361

14.1.2预定义数据流361

14.1.3数据流类362

14.1.4 Stream类362

14.1.5字节数据流类363

14.1.6字符数据流封装类363

14.1.7二进制数据流365

14.2控制台I/O365

14.2.1读取控制台输入365

14.2.2使用ReadKey()方法367

14.2.3写入控制台输出369

14.3文件数据流和面向字节的文件I/O操作370

14.3.1打开和关闭文件370

14.3.2从FileStream中读取字节372

14.3.3写入文件373

14.3.4使用FileStream复制文件374

14.4基于字符的文件I/O操作376

14.4.1使用StreamWriter类376

14.4.2 StreamReader类378

14.5重定向标准数据流380

14.6读取和写入二进制数据382

14.6.1 BinaryWriter382

14.6.2 BinaryReader382

14.6.3二进制I/O操作的程序示例384

14.7随机访问文件388

14.8使用MemoryStream391

14.9 StringReader和StringWriter393

14.10把数值型字符串转换为内部表示格式394

第15章 委托、事件和拉姆达表达式399

15.1委托399

15.1.1委托的方法组转换402

15.1.2使用实例方法作为委托402

15.1.3多播委托404

15.1.4协变和逆变406

15.1.5 System.Delegate408

15.1.6使用委托的原因408

15.2匿名函数408

15.3匿名方法408

15.3.1给匿名方法传递参数409

15.3.2从匿名方法中返回一个值410

15.3.3在匿名方法中使用外部变量411

15.4拉姆达表达式413

15.4.1拉姆达运算符413

15.4.2表达式拉姆达413

15.4.3语句拉姆达416

15.5事件418

15.5.1多播委托事件的示例420

15.5.2作为事件处理程序的实例方法和静态方法的区别422

15.5.3使用事件存取器424

15.5.4事件的其他特性429

15.6对事件使用匿名方法和拉姆达表达式429

15.7 .NET事件的规则430

15.8事件的应用:案例分析433

第16章 名称空间、预处理器和程序集437

16.1名称空间437

16.1.1名称空间的声明437

16.1.2名称空间可以避免名称冲突440

16.1.3 using命令441

16.1.4 using命令的另一种形式443

16.1.5名称空间的合成445

16.1.6嵌套名称空间446

16.1.7全局名称空间448

16.1.8使用名称空间别名限定符(∷)448

16.2预处理器452

16.2.1 #define452

16.2.2 #if和#endif453

16.2.3 #else和#elif454

16.2.4 #undef456

16.2.5 #error456

16.2.6 #warning457

16.2.7 #line457

16.2.8 #region和#endregion457

16.2.9 #pragma457

16.3程序集和internal访问修饰符458

第17章 运行时类型标识、反射和特性461

17.1运行时类型标识461

17.1.1使用is运算符测试类型461

17.1.2使用as运算符462

17.1.3使用typeof运算符464

17.2反射465

17.3使用反射467

17.3.1获取方法的相关信息467

17.3.2 GetMethods()的另一种形式470

17.3.3使用反射调用方法471

17.3.4获取Type对象的构造函数474

17.3.5从程序集获得类型478

17.3.6全自动类型查询483

17.4特性486

17.4.1特性基础486

17.4.2创建特性486

17.4.3连接特性487

17.4.4获取对象的特性487

17.4.5位置参数和命名参数489

17.5三个内置特性493

17.5.1 AttributeUsage特性493

17.5.2 Conditional特性494

17.5.3 Obsolete特性495

第18章 泛型497

18.1泛型概念497

18.2一个简单的泛型示例498

18.2.1泛型类型因类型参数的不同而不同501

18.2.2泛型如何实现类型安全501

18.3使用两个类型参数的泛型类504

18.4泛型类的通用形式505

18.5类型约束505

18.5.1基类约束506

18.5.2接口约束514

18.5.3 new()构造函数约束518

18.5.4引用类型和值类型约束519

18.5.5使用约束建立两个类型参数之间的关系522

18.5.6使用多重约束523

18.6创建类型参数的默认值524

18.7泛型结构525

18.8创建泛型方法526

18.8.1调用泛型方法时显式地指定类型实参529

18.8.2为泛型方法指定约束529

18.9泛型委托529

18.10泛型接口532

18.11比较同一类型参数的实例536

18.12泛型类的层次结构539

18.12.1使用泛型基类539

18.12.2泛型派生类541

18.13重写泛型类中的虚方法542

18.14重载带类型参数的方法544

18.15 泛型类型的实例化545

18.16使用泛型时的一些局限546

18.17小结546

第19章LINQ547

19.1 LINQ的定义547

19.2 LINQ的基础知识548

19.2.1简单查询548

19.2.2查询可以多次执行550

19.2.3查询中的数据类型的关联方式551

19.2.4查询的一般形式552

19.3使用where子句筛选值552

19.4使用orderby子句排序结果554

19.5深入讨论select子句558

19.6使用嵌套的from子句561

19.7使用group子句分组结果562

19.8使用into子句创建继续564

19.9在查询中使用let子句创建变量566

19.10使用join子句连接两个序列567

19.11匿名类型570

19.12创建组连接572

19.13查询方法575

19.13.1基本查询方法575

19.13.2使用查询方法创建查询576

19.13.3查询语法与查询方法的对比578

19.13.4更多与查询相关的扩展方法578

19.14延期执行查询和立即执行查询581

19.15 表达式树582

19.16扩展方法583

第20章 不安全代码、指针、空类型和其他主题587

20.1不安全代码587

20.1.1指针基础588

20.1.2使用unsafe关键字589

20.1.3使用fixed修饰符590

20.1.4通过指针访问结构成员591

20.1.5指针运算591

20.1.6指针的比较593

20.1.7指针和数组593

20.1.8指针和字符串595

20.1.9多重间接寻址596

20.1.10指针数组597

20.1.11 sizeof597

20.1.12 stackalloc597

20.1.13创建固定大小的缓冲区598

20.2空类型599

20.2.1空类型基础600

20.2.2表达式中的空对象601

20.2.3??运算符602

20.2.4在空对象上使用关系和逻辑运算符603

20.3部分类型604

20.4部分方法605

20.5友元程序集606

20.6其他关键字607

20.6.1 lock关键字607

20.6.2 readonly关键字607

20.6.3 const和volatile关键字608

20.6.4 using语句608

20.7 extern关键字609

20.7.1声明extern方法610

20.7.2声明extern程序集别名611

第Ⅱ部分C#类库研究615

第21章 研究System名称空间615

21.1 System的成员615

21.2 Math类617

21.3与内置值类型对应的.NET结构622

21.3.1整型结构623

21.3.2浮点类型结构625

21.3.3 Decimal结构628

21.3.4 Char结构633

21.3.5 Boolean结构638

21.4 Array类639

21.4.1排序和搜索数组646

21.4.2反转数组649

21.4.3复制数组649

21.4.4使用谓词650

21.4.5使用Action委托652

21.5 BitConverter类653

21.6用Random产生随机数655

21.7内存管理和GC类656

21.8 Object类657

21.9 IComparable和IComparable<T>接口657

21.10 IEquatable<T>接口658

21.11 IConvertible接口658

21.12 ICloneable接口658

21.13 IFormatProvider接口和IFormattable接口660

第22章 字符串和格式化663

22.1 C#中的字符串663

22.2 String类663

22.2.1字符串构造函数664

22.2.2 String类的字段、索引器和属性664

22.2.3字符串运算符665

22.2.4字符串方法665

22.2.5填充和剪裁字符串679

22.2.6插入、删除和替换681

22.2.7改变字母大小写682

22.2.8使用Substring()方法682

22.2.9字符串扩展方法683

22.3格式化类型683

22.3.1格式化类型概述683

22.3.2数值型数据的格式说明符684

22.3.3理解参数编号686

22.4使用String.Format()和ToString()格式化数据686

22.4.1使用String.Format()格式化值686

22.4.2使用ToString()格式化数据689

22.5自定义数字格式690

22.6格式化日期和时间693

22.7格式化枚举697

第23章 多线程程序设计701

23.1多线程基础701

23.2 Thread类702

23.2.1创建和启动线程702

23.2.2一些简单的改进705

23.2.3创建多个线程706

23.3确定线程结束的时间708

23.4为线程传递参数710

23.5 IsBackground属性712

23.6线程优先级713

23.7同步715

23.7.1实现同步的另一种方式719

23.7.2 Monitor类和锁720

23.8使用Wait()、 Pulse()和PulseAll()实现线程通信721

23.8.1 Wait()和Pulse()的示例721

23.8.2死锁和竞争条件725

23.9使用MethodImplAttribute属性725

23.10使用互斥锁和信号量727

23.10.1互斥锁727

23.10.2信号量731

23.11使用事件734

23.12 Interlocked类736

23.13终止线程737

23.13.1 Abort()的另一种形式739

23.13.2取消Abort()740

23.14挂起和恢复线程742

23.15 判断线程的状态742

23.16使用主线程742

23.17多线程编程提示744

23.18开启独立任务744

第24章 集合、枚举器和迭代器747

24.1集合概述747

24.2非泛型集合748

24.2.1非泛型接口748

24.2.2 DictionaryEntry结构752

24.2.3非泛型集合类753

24.3使用BitArray类存储位768

24.4专用集合770

24.5泛型集合771

24.5.1泛型接口771

24.5.2 KeyValuePair<TK,TV>结构775

24.5.3泛型集合类775

24.6在集合中存储用户自定义的类793

24.7实现IComparable接口795

24.7.1为非泛型集合实现IComparable接口796

24.7.2为泛型集合实现IComparable<T>接口797

24.8使用IComparer接口799

24.8.1使用非泛型的IComparer799

24.8.2使用泛型的IComparer<T>800

24.9通过枚举器访问集合802

24.9.1使用枚举器802

24.9.2使用 IDictionaryEnumerator803

24.10实现IEnumerable和IEnumerator接口805

24.11迭代器806

24.11.1停用迭代器808

24.11.2使用多个yield指令809

24.11.3创建命名迭代器810

24.11.4创建泛型迭代器811

24.12集合初始化器812

第25章 通过 Internet连网813

25.1 System.Net的成员813

25.2统一资源标识符815

25.3 Internet访问基础815

25.3.1 WebRequest类816

25.3.2 WebResponse类818

25.3.3 HttpWebRequest类和HttpWebResponse类819

25.3.4第一个简单的示例819

25.4处理网络错误821

25.4.1 Create()产生的异常822

25.4.2 GetResponse()产生的异常822

25.4.3 GetResponseStream()产生的异常822

25.4.4使用异常处理822

25.5 Uri类824

25.6访问附加的HTTP响应信息825

25.6.1访问报头826

25.6.2访问Cookie827

25.6.3使用LastModified属性829

25.7 MiniCrawler:案例分析829

25.8使用WebClient833

第26章 使用System.Windows.Forms创建基于窗体的Windows应用程序837

26.1 Windows程序设计简史837

26.2编写基于窗体的 Windows应用程序的两种方式838

26.3 Windows与用户交互操作的方法838

26.4 Windows窗体839

26.5基于窗体的Windows框架程序839

26.6添加按钮841

26.6.1按钮概述842

26.6.2给窗体添加按钮842

26.6.3简单的按钮示例842

26.7消息处理843

26.8使用消息框845

26.9添加菜单848

26.9.1创建传统样式的主菜单848

26.9.2使用MenuStrip创建新式菜单852

附录A文档注释快速参考857

热门推荐