Written for programmers with a background in C++, Java or other high-level, object-oriented languages, this book applies the Deitel signature live-code approach to teaching programming and explores Microsoft’s C# 2010 language and .NET 4 in depth. The book is updated for Visual Studio® 2010 and C# 4, and presents C# concepts in the context of fully tested programs, complete with syntax shading, detailed line-by-line code descriptions and program outputs. The book features 200+ C# applications with 17,000+ lines of proven C# code, as well as hundreds of programming tips that will help you build robust applications.
Start with a concise introduction to C# fundamentals using an early classes and objects approach, then rapidly move on to more advanced topics, including multithreading, .NET 4, LINQ, WPF, ASP.NET 4, WCF web services and Silverlight®. Along the way you’ll enjoy the Deitels’ classic treatment of object-oriented programming and the OOD/UML® ATM case study, including a complete C# implementation. When you’re finished, you’ll be ready to build next-generation Windows applications, web applications and web services.
Author(s): Paul J. Deitel, Harvey M. Deitel
Edition: 4
Publisher: Prentice Hall
Year: 2010
Language: English
Pages: 1296
Tags: Библиотека;Компьютерная литература;C#;
Contents......Page 8
Preface......Page 22
Before You Begin......Page 35
1 Introduction......Page 40
1.2 Microsoft’s Windows® Operating System......Page 41
1.4 C#......Page 42
1.7 The .NET Framework and the Common Language Runtime......Page 43
1.8 Test-Driving the Advanced Painter Application......Page 44
1.9 Introduction to Object Technology......Page 47
1.10 Wrap-Up......Page 49
2 Dive Into® Visual C# 2010 Express......Page 50
2.2 Overview of the Visual Studio 2010 IDE......Page 51
2.3 Menu Bar and Toolbar......Page 56
2.4 Navigating the Visual Studio IDE......Page 58
2.4.1 Solution Explorer......Page 60
2.4.2 Toolbox......Page 61
2.4.3 Properties Window......Page 62
2.5 Using Help......Page 63
2.6 Using Visual Programming to Create a Simple Program that Displays Text and an Image......Page 66
2.7 Wrap-Up......Page 77
2.8 Web Resources......Page 78
3 Introduction to C# Applications......Page 79
3.2 A Simple C# Application: Displaying a Line of Text......Page 80
3.3 Creating a Simple Application in Visual C# Express......Page 85
3.4 Modifying Your Simple C# Application......Page 92
3.5 Formatting Text with Console.Write and Console.WriteLine......Page 95
3.6 Another C# Application: Adding Integers......Page 96
3.7 Arithmetic......Page 98
3.8 Decision Making: Equality and Relational Operators......Page 100
3.9 Wrap-Up......Page 104
4 Introduction to Classes and Objects......Page 105
4.2 Classes, Objects, Methods, Properties and Instance Variables......Page 106
4.3 Declaring a Class with a Method and Instantiating an Object of a Class......Page 107
4.4 Declaring a Method with a Parameter......Page 111
4.5 Instance Variables and Properties......Page 114
4.6 UML Class Diagram with a Property......Page 119
4.7 Software Engineering with Properties and set and get Accessors......Page 120
4.8 Auto-Implemented Properties......Page 121
4.9 Value Types vs. Reference Types......Page 122
4.10 Initializing Objects with Constructors......Page 123
4.11 Floating-Point Numbers and Type decimal......Page 126
4.12 Wrap-Up......Page 132
5 Control Statements: Part 1......Page 133
5.2 Control Structures......Page 134
5.3 If Single-Selection Statement......Page 136
5.4 If…else Double-Selection Statement......Page 137
5.5 While Repetition Statement......Page 141
5.6 Counter-Controlled Repetition......Page 142
5.7 Sentinel-Controlled Repetition......Page 146
5.8 Nested Control Statements......Page 151
5.10 Increment and Decrement Operators......Page 154
5.11 Simple Types......Page 157
5.12 Wrap-Up......Page 158
6 Control Statements: Part 2......Page 159
6.2 Essentials of Counter-Controlled Repetition......Page 160
6.3 For Repetition Statement......Page 161
6.4 Examples Using the for Statement......Page 166
6.5 Do…while Repetition Statement......Page 170
6.6 Switch Multiple-Selection Statement......Page 171
6.7 Break and continue Statements......Page 179
6.8 Logical Operators......Page 181
6.9 Wrap-Up......Page 187
7 Methods: A Deeper Look......Page 188
7.2 Packaging Code in C#......Page 189
7.3 Static Methods, static Variables and Class Math......Page 190
7.4 Declaring Methods with Multiple Parameters......Page 193
7.5 Notes on Declaring and Using Methods......Page 196
7.6 Method-Call Stack and Activation Records......Page 197
7.7 Argument Promotion and Casting......Page 198
7.8 The .NET Framework Class Library......Page 199
7.9 Case Study: Random-Number Generation......Page 201
7.9.2 Random-Number Repeatability for Testing and Debugging......Page 205
7.10 Case Study: A Game of Chance (Introducing Enumerations)......Page 206
7.11 Scope of Declarations......Page 211
7.12 Method Overloading......Page 213
7.13 Optional Parameters......Page 216
7.14 Named Parameters......Page 217
7.15 Recursion......Page 218
7.16 Passing Arguments: Pass-by-Value vs. Pass-by-Reference......Page 221
7.17 Wrap-Up......Page 224
8 Arrays......Page 226
8.2 Arrays......Page 227
8.3 Declaring and Creating Arrays......Page 228
8.4 Examples Using Arrays......Page 229
8.5 Case Study: Card Shuffling and Dealing Simulation......Page 238
8.6 Foreach Statement......Page 242
8.7 Passing Arrays and Array Elements to Methods......Page 244
8.8 Passing Arrays by Value and by Reference......Page 247
8.9 Case Study: Class GradeBook Using an Array to Store Grades......Page 251
8.10 Multidimensional Arrays......Page 256
8.11 Case Study: GradeBook Using a Rectangular Array......Page 261
8.12 Variable-Length Argument Lists......Page 266
8.13 Using Command-Line Arguments......Page 268
8.14 Wrap-Up......Page 270
9 Introduction to LINQ and the List Collection......Page 271
9.1 Introduction......Page 272
9.2 Querying an Array of int Values Using LINQ......Page 273
9.3 Querying an Array of Employee Objects Using LINQ......Page 277
9.4 Introduction to Collections......Page 282
9.5 Querying a Generic Collection Using LINQ......Page 285
9.7 Deitel LINQ Resource Center......Page 287
10 Classes and Objects: A Deeper Look......Page 288
10.2 Time Class Case Study......Page 289
10.3 Controlling Access to Members......Page 293
10.4 Referring to the Current Object’s Members with the this Reference......Page 294
10.5 Indexers......Page 296
10.6 Time Class Case Study: Overloaded Constructors......Page 300
10.8 Composition......Page 306
10.9 Garbage Collection and Destructors......Page 309
10.10 Static Class Members......Page 310
10.11 Readonly Instance Variables......Page 314
10.12 Data Abstraction and Encapsulation......Page 315
10.13 Time Class Case Study: Creating Class Libraries......Page 316
10.14 Internal Access......Page 321
10.15 Class View and Object Browser......Page 322
10.16 Object Initializers......Page 324
10.17 Time Class Case Study: Extension Methods......Page 327
10.18 Delegates......Page 330
10.19 Lambda Expressions......Page 332
10.20 Anonymous Types......Page 335
10.21 Wrap-Up......Page 337
11 Object-Oriented Programming: Inheritance......Page 339
11.1 Introduction......Page 340
11.2 Base Classes and Derived Classes......Page 341
11.3 Protected Members......Page 343
11.4.1 Creating and Using a CommissionEmployee Class......Page 344
11.4.2 Creating a BasePlusCommissionEmployee Class without Using Inheritance......Page 350
11.4.3 Creating a CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy......Page 355
11.4.4 CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy Using protected Instance Variables......Page 358
11.4.5 CommissionEmployee–BasePlusCommissionEmployee Inheritance Hierarchy Using private Instance Variables......Page 362
11.6 Software Engineering with Inheritance......Page 368
11.7 Class object......Page 369
11.8 Wrap-Up......Page 370
12 OOP: Polymorphism, Interfaces and Operator Overloading......Page 371
12.1 Introduction......Page 372
12.2 Polymorphism Examples......Page 374
12.3 Demonstrating Polymorphic Behavior......Page 375
12.4 Abstract Classes and Methods......Page 378
12.5 Case Study: Payroll System Using Polymorphism......Page 380
12.5.1 Creating Abstract Base Class Employee......Page 381
12.5.3 Creating Concrete Derived Class HourlyEmployee......Page 385
12.5.4 Creating Concrete Derived Class CommissionEmployee......Page 387
12.5.5 Creating Indirect Concrete Derived Class BasePlusCommissionEmployee......Page 388
12.5.6 Polymorphic Processing, Operator is and Downcasting......Page 390
12.5.7 Summary of the Allowed Assignments Between Base-Class and Derived-Class Variables......Page 395
12.7 Case Study: Creating and Using Interfaces......Page 396
12.7.1 Developing an IPayable Hierarchy......Page 398
12.7.3 Creating Class Invoice......Page 399
12.7.4 Modifying Class Employee to Implement Interface IPayable......Page 401
12.7.5 Modifying Class SalariedEmployee for Use with IPayable......Page 402
12.7.6 Using Interface IPayable to Process Invoices and Employees Polymorphically......Page 404
12.7.7 Common Interfaces of the .NET Framework Class Library......Page 406
12.8 Operator Overloading......Page 407
12.9 Wrap-Up......Page 410
13 Exception Handling......Page 411
13.2 Example: Divide by Zero without Exception Handling......Page 412
13.3 Example: Handling DivideByZeroExceptions and FormatExceptions......Page 415
13.3.1 Enclosing Code in a try Block......Page 417
13.3.3 Uncaught Exceptions......Page 418
13.3.4 Termination Model of Exception Handling......Page 419
13.4.1 Class SystemException......Page 420
13.4.2 Determining Which Exceptions a Method Throws......Page 421
13.5 Finally Block......Page 422
13.6 The using Statement......Page 428
13.7 Exception Properties......Page 429
13.8 User-Defined Exception Classes......Page 434
13.9 Wrap-Up......Page 437
14 Graphical User Interfaces with Windows Forms: Part 1......Page 438
14.1 Introduction......Page 439
14.2 Windows Forms......Page 440
14.3.1 A Simple Event-Driven GUI......Page 442
14.3.2 Visual Studio Generated GUI Code......Page 444
14.3.3 Delegates and the Event-Handling Mechanism......Page 446
14.3.5 Locating Event Information......Page 447
14.4 Control Properties and Layout......Page 449
14.5 Labels, TextBoxes and Buttons......Page 453
14.6 GroupBoxes and Panels......Page 456
14.7 CheckBoxes and RadioButtons......Page 459
14.8 PictureBoxes......Page 467
14.9 ToolTips......Page 469
14.10 NumericUpDown Control......Page 471
14.11 Mouse-Event Handling......Page 473
14.12 Keyboard-Event Handling......Page 476
14.13 Wrap-Up......Page 479
15 Graphical User Interfaces with Windows Forms: Part 2......Page 480
15.2 Menus......Page 481
15.3 MonthCalendar Control......Page 490
15.4 DateTimePicker Control......Page 491
15.5 LinkLabel Control......Page 494
15.6 ListBox Control......Page 498
15.7 CheckedListBox Control......Page 502
15.8 ComboBox Control......Page 505
15.9 TreeView Control......Page 509
15.10 ListView Control......Page 514
15.11 TabControl Control......Page 520
15.12 Multiple Document Interface (MDI) Windows......Page 525
15.13 Visual Inheritance......Page 532
15.14 User-Defined Controls......Page 537
15.15 Wrap-Up......Page 541
16 Strings and Characters......Page 543
16.1 Introduction......Page 544
16.2 Fundamentals of Characters and Strings......Page 545
16.3 String Constructors......Page 546
16.4 String Indexer, Length Property and CopyTo Method......Page 547
16.5 Comparing strings......Page 548
16.6 Locating Characters and Substrings in strings......Page 551
16.7 Extracting Substrings from strings......Page 554
16.8 Concatenating strings......Page 555
16.9 Miscellaneous string Methods......Page 556
16.10 Class StringBuilder......Page 557
16.11 Length and Capacity Properties, EnsureCapacity Method and Indexer of Class StringBuilder......Page 558
16.12 Append and AppendFormat Methods of Class StringBuilder......Page 560
16.13 Insert, Remove and Replace Methods of Class StringBuilder......Page 562
16.14 Char Methods......Page 565
16.15 Regular Expressions......Page 567
16.15.1 Simple Regular Expressions and Class Regex......Page 568
16.15.2 Complex Regular Expressions......Page 573
16.15.3 Validating User Input with Regular Expressions and LINQ......Page 574
16.15.4 Regex Methods Replace and Split......Page 579
16.16 Wrap-Up......Page 581
17 Files and Streams......Page 582
17.2 Data Hierarchy......Page 583
17.3 Files and Streams......Page 585
17.4 Classes File and Directory......Page 586
17.5 Creating a Sequential-Access Text File......Page 595
17.6 Reading Data from a Sequential-Access Text File......Page 604
17.7 Case Study: Credit Inquiry Program......Page 608
17.8 Serialization......Page 614
17.9 Creating a Sequential-Access File Using Object Serialization......Page 615
17.10 Reading and Deserializing Data from a Binary File......Page 619
17.11 Wrap-Up......Page 621
18 Databases and LINQ......Page 623
18.1 Introduction......Page 624
18.2 Relational Databases......Page 625
18.3 A Books Database......Page 626
18.4 LINQ to SQL......Page 629
18.5 Querying a Database with LINQ......Page 630
18.5.1 Creating LINQ to SQL Classes......Page 631
18.5.2 Data Bindings Between Controls and the LINQ to SQL Classes......Page 634
18.6 Dynamically Binding Query Results......Page 638
18.6.2 Coding the Display Query Results Application......Page 639
18.7 Retrieving Data from Multiple Tables with LINQ......Page 641
18.8 Creating a Master/Detail View Application......Page 647
18.8.1 Creating the Master/Detail GUI......Page 648
18.8.2 Coding the Master/Detail Application......Page 649
18.9 Address Book Case Study......Page 652
18.9.1 Creating the Address Book Application’s GUI......Page 654
18.9.2 Coding the Address Book Application......Page 655
18.10 Tools and Web Resources......Page 657
18.11 Wrap-Up......Page 658
19 Web App Development with ASP.NET......Page 659
19.1 Introduction......Page 660
19.2 Web Basics......Page 661
19.3 Multitier Application Architecture......Page 662
19.4 Your First Web Application......Page 664
19.4.1 Building the WebTime Application......Page 666
19.5 Standard Web Controls: Designing a Form......Page 675
19.6 Validation Controls......Page 680
19.7 Session Tracking......Page 686
19.7.1 Cookies......Page 687
19.7.2 Session Tracking with HttpSessionState......Page 688
19.7.3 Options.aspx: Selecting a Programming Language......Page 691
19.7.4 Recommendations.aspx: Displaying Recommendations Based on Session Values......Page 694
19.8 Case Study: Database-Driven ASP.NET Guestbook......Page 696
19.8.1 Building a Web Form that Displays Data from a Database......Page 698
19.8.2 Modifying the Code-Behind File for the Guestbook Application......Page 701
19.11 Wrap-Up......Page 703
20 Searching and Sorting......Page 705
20.2 Searching Algorithms......Page 706
20.2.1 Linear Search......Page 707
20.2.2 Binary Search......Page 711
20.3.1 Selection Sort......Page 716
20.3.2 Insertion Sort......Page 720
20.3.3 Merge Sort......Page 724
20.5 Wrap-Up......Page 730
21 Data Structures......Page 731
21.2 Simple-Type structs, Boxing and Unboxing......Page 732
21.3 Self-Referential Classes......Page 733
21.4 Linked Lists......Page 734
21.5 Stacks......Page 747
21.6 Queues......Page 751
21.7 Trees......Page 754
21.7.1 Binary Search Tree of Integer Values......Page 755
21.7.2 Binary Search Tree of IComparable Objects......Page 762
21.8 Wrap-Up......Page 767
22 Generics......Page 769
22.1 Introduction......Page 770
22.2 Motivation for Generic Methods......Page 771
22.3 Generic-Method Implementation......Page 773
22.4 Type Constraints......Page 776
22.5 Overloading Generic Methods......Page 778
22.6 Generic Classes......Page 779
22.7 Wrap-Up......Page 788
23 Collections......Page 790
23.2 Collections Overview......Page 791
23.3 Class Array and Enumerators......Page 794
23.4.1 Class ArrayList......Page 797
23.4.2 Class Stack......Page 801
23.4.3 Class Hashtable......Page 804
23.5.1 Generic Class SortedDictionary......Page 809
23.5.2 Generic Class LinkedList......Page 811
23.6 Covariance and Contravariance for Generic Types......Page 815
23.7 Wrap-Up......Page 817
24 GUI with Windows Presentation Foundation......Page 819
24.2 Windows Presentation Foundation (WPF)......Page 820
24.3 XML Basics......Page 822
24.4 Structuring Data......Page 825
24.5 XML Namespaces......Page 830
24.6 Declarative GUI Programming Using XAML......Page 834
24.7 Creating a WPF Application in Visual C# Express......Page 835
24.8.1 General Layout Principles......Page 837
24.8.2 Layout in Action......Page 838
24.9 Event Handling......Page 843
24.10 Commands and Common Application Tasks......Page 851
24.11 WPF GUI Customization......Page 855
24.12 Using Styles to Change the Appearance of Controls......Page 856
24.13 Customizing Windows......Page 862
24.14 Defining a Control’s Appearance with Control Templates......Page 865
24.15 Data-Driven GUIs with Data Binding......Page 870
24.16 Wrap-Up......Page 876
24.17 Web Resources......Page 877
25 WPF Graphics and Multimedia......Page 878
25.2 Controlling Fonts......Page 879
25.3 Basic Shapes......Page 881
25.4 Polygons and Polylines......Page 882
25.5 Brushes......Page 886
25.6 Transforms......Page 892
25.7 WPF Customization: A Television GUI......Page 894
25.8 Animations......Page 903
25.9 (Optional) 3-D Objects and Transforms......Page 906
25.10 Speech Synthesis and Speech Recognition......Page 912
25.11 Wrap-Up......Page 919
26 XML and LINQ to XML......Page 920
26.2 Document Type Definitions (DTDs)......Page 921
26.3 W3C XML Schema Documents......Page 925
26.4 Extensible Stylesheet Language and XSL Transformations......Page 932
26.5 LINQ to XML: Document Object Model (DOM)......Page 941
26.6 LINQ to XML Class Hierarchy......Page 945
26.7 LINQ to XML: Namespaces and Creating Documents......Page 954
26.8 XSLT with Class XslCompiledTransform......Page 957
26.10 Web Resources......Page 959
27 Web App Development with ASP.NET: A Deeper Look......Page 960
27.2 Case Study: Password-Protected Books Database Application......Page 961
27.2.1 Examining the ASP.NET Web Site Template......Page 962
27.2.2 Test-Driving the Completed Application......Page 964
27.2.3 Configuring the Website......Page 966
27.2.4 Modifying the Default.aspx and About.aspx Pages......Page 969
27.2.5 Creating a Content Page That Only Authenticated Users Can Access......Page 970
27.2.6 Linking from the Default.aspx Page to the Books.aspx Page......Page 971
27.2.7 Modifying the Master Page (Site.master)......Page 972
27.2.8 Customizing the Password-Protected Books.aspx Page......Page 974
27.3.1 Traditional Web Applications......Page 979
27.3.2 Ajax Web Applications......Page 980
27.3.3 Testing an ASP.NET Ajax Application......Page 981
27.3.4 The ASP.NET Ajax Control Toolkit......Page 982
27.3.5 Using Controls from the Ajax Control Toolkit......Page 983
27.4 Wrap-Up......Page 986
28 Web Services......Page 987
28.1 Introduction......Page 988
28.3 Simple Object Access Protocol (SOAP)......Page 989
28.5 JavaScript Object Notation (JSON)......Page 990
28.6.2 Code for the WelcomeSOAPXMLService......Page 991
28.6.3 Building a SOAP WCF Web Service......Page 992
28.6.4 Deploying the WelcomeSOAPXMLService......Page 994
28.6.5 Creating a Client to Consume the WelcomeSOAPXMLService......Page 995
28.6.6 Consuming the WelcomeSOAPXMLService......Page 997
28.7.2 Creating a REST-Based XML WCF Web Service......Page 999
28.7.3 Consuming a REST-Based XML WCF Web Service......Page 1002
28.8.1 Creating a REST-Based JSON WCF Web Service......Page 1003
28.8.2 Consuming a REST-Based JSON WCF Web Service......Page 1005
28.9.1 Creating a Blackjack Web Service......Page 1007
28.9.2 Consuming the Blackjack Web Service......Page 1012
28.10 Airline Reservation Web Service: Database Access and Invoking a Service from ASP.NET......Page 1021
28.11 Equation Generator: Returning User-Defined Types......Page 1025
28.11.1 Creating the REST-Based XML EquationGenerator Web Service......Page 1028
28.11.2 Consuming the REST-Based XML EquationGenerator Web Service......Page 1029
28.11.4 Consuming the REST-Based JSON WCF EquationGenerator Web Service......Page 1033
28.12 Wrap-Up......Page 1037
28.13 Deitel Web Services Resource Centers......Page 1038
29 Silverlight and Rich Internet Applications......Page 1039
29.2 Platform Overview......Page 1040
29.4 Building a Silverlight WeatherViewer Application......Page 1041
29.4.1 GUI Layout......Page 1044
29.4.2 Obtaining and Displaying Weather Forecast Data......Page 1046
29.4.3 Custom Controls......Page 1052
29.5 Animations and the FlickrViewer......Page 1055
29.6 Images and Deep Zoom......Page 1064
29.6.1 Getting Started With Deep Zoom Composer......Page 1066
29.6.2 Creating a Silverlight Deep Zoom Application......Page 1069
29.7 Audio and Video......Page 1077
29.8 Wrap-Up......Page 1082
30 ATM Case Study, Part 1: Object-Oriented Design with the UML......Page 1083
30.2 Examining the ATM Requirements Document......Page 1084
30.3 Identifying the Classes in the ATM Requirements Document......Page 1092
30.4 Identifying Class Attributes......Page 1099
30.5 Identifying Objects’ States and Activities......Page 1103
30.6 Identifying Class Operations......Page 1107
30.7 Identifying Collaboration Among Objects......Page 1114
30.8 Wrap-Up......Page 1121
31 ATM Case Study, Part 2: Implementing an Object-Oriented Design......Page 1126
31.2 Starting to Program the Classes of the ATM System......Page 1127
31.3 Incorporating Inheritance and Polymorphism into the ATM System......Page 1132
31.4 ATM Case Study Implementation......Page 1139
31.4.1 Class ATM......Page 1140
31.4.2 Class Screen......Page 1145
31.4.3 Class Keypad......Page 1146
31.4.4 Class CashDispenser......Page 1147
31.4.5 Class DepositSlot......Page 1148
31.4.6 Class Account......Page 1149
31.4.7 Class BankDatabase......Page 1151
31.4.8 Class Transaction......Page 1154
31.4.9 Class BalanceInquiry......Page 1155
31.4.10 Class Withdrawal......Page 1156
31.4.11 Class Deposit......Page 1160
31.5 Wrap-Up......Page 1163
A: Operator Precedence Chart......Page 1166
B: Simple Types......Page 1168
C: ASCII Character Set......Page 1170
D: Number Systems......Page 1171
D.1 Introduction......Page 1172
D.2 Abbreviating Binary Numbers as Octal and Hexadecimal Numbers......Page 1175
D.4 Converting from Binary, Octal or Hexadecimal to Decimal......Page 1176
D.5 Converting from Decimal to Binary, Octal or Hexadecimal......Page 1177
D.6 Negative Binary Numbers: Two’s Complement Notation......Page 1179
E.2 Additional Diagram Types......Page 1181
F: Unicode®......Page 1183
F.1 Introduction......Page 1184
F.2 Unicode Transformation Formats......Page 1185
F.4 Advantages/Disadvantages of Unicode......Page 1186
F.5 Using Unicode......Page 1187
F.6 Character Ranges......Page 1189
G: Using the Visual C# 2010 Debugger......Page 1191
G.2 Breakpoints and the Continue Command......Page 1192
G.4 The Locals and Watch Windows......Page 1198
G.5 Controlling Execution Using the Step Into, Step Over, Step Out and Continue Commands......Page 1201
G.6.3 Just My Code Debugging......Page 1203
G.6.4 Other Debugger Features......Page 1204
A......Page 1205
B......Page 1207
C......Page 1208
D......Page 1213
E......Page 1215
F......Page 1216
G......Page 1217
I......Page 1218
L......Page 1220
M......Page 1222
N......Page 1224
O......Page 1225
P......Page 1226
R......Page 1227
S......Page 1229
T......Page 1233
U......Page 1234
V......Page 1235
W......Page 1236
X......Page 1237
Z......Page 1238