BEGINNING
OBJECT-ORIENTED PROGRAMMING WITH C#
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxv
PART I GETTING STARTED
CHAPTER 1 Introducing C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
CHAPTER 2 Understanding Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
PART II UNDERSTANDING C# SYNTAX
CHAPTER 3 Understanding Data Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
CHAPTER 4 Understanding C# Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
CHAPTER 5 Understanding Reference Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
CHAPTER 6 Making Decisions in Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147
CHAPTER 7 Statement Repetition Using Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
CHAPTER 8 Understanding Arrays and Collections . . . . . . . . . . . . . . . . . . . . . . . . . . 193
PART III WRITING YOUR OWN CLASSES
CHAPTER 9 Designing Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
CHAPTER 10 Designing and Writing Custom Classes . . . . . . . . . . . . . . . . . . . . . . . . . .255
CHAPTER 11 Exception Handling and Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . .295
CHAPTER 12 Generics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
PART IV STORING DATA
CHAPTER 13 Using Disk Data Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .359
CHAPTER 14 Using Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
CHAPTER 15 Using LINQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .459
PART V ADVANCED TOPICS
CHAPTER 16 Inheritance and Polymorphism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
CHAPTER 17 Printing and Threading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
CHAPTER 18 Web Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .523
APPENDIX Answers to Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .539
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577