;Advance Praise for Head First C#;Praise for other Head First books; ;How to Use this Book: Intro; Who is this book for?; Who should probably back away from this book?; We know what you''re thinking.; And we know what your brain is thinking.; Metacognition: thinking about thinking; Here''s what WE did:; Here''s what YOU can do to bend your brain into submission; What you need for this book:; Read me; The technical review team; Acknowledgments; SafariĀ® Books Online;Chapter 1: Get Productive With c#: Visual Applications, in 10 minutes or less; 1.1 Why you should learn C#; 1.2 C# and the Visual Studio IDE make lots of things easy; 1.3 Help the CEO go paperless; 1.4 Get to know your users'' needs before you start building your program; 1.5 Here''s what you''re going to build; 1.
6 What you do in Visual Studio.; 1.7 What Visual Studio does for you.; 1.8 Develop the user interface; 1.9 Visual Studio, behind the scenes; 1.10 Add to the auto-generated code; 1.11 You can already run your application; 1.
12 Where are my files?; 1.13 Here''s what we''ve done so far; 1.14 We need a database to store our information; 1.15 The IDE created a database; 1.16 SQL is its own language; 1.17 Creating the table for the Contact List; 1.18 The blanks on contact card are columns in our People table; 1.19 Finish building the table; 1.
20 Diagram your data; 1.21 Insert your card data into the database; 1.22 Connect your form to your database objects with a data source; 1.23 Add database-driven controls to your form; 1.24 Good programs are intuitive to use; 1.25 Test drive; 1.26 How to turn YOUR application into EVERYONE''S application; 1.27 Give your users the application; 1.
28 You built a complete data-driven application; 1.29 You built a complete data-driven application; 1.30 CSharpcross; 1.31 CSharpcross Solution;Chapter 2: It''s All Just Code: Under the Hood; 2.1 When you''re doing this.; 2.2 .the IDE does this; 2.
3 Where programs come from; 2.4 The IDE helps you code; 2.5 When you change things in the IDE, you''re also changing your code; 2.6 Anatomy of a program; 2.7 Your program knows where to start; 2.8 You can change your program''s entry point; 2.9 Two classes can be in the same namespace; 2.10 Your programs use variables to work with data; 2.
11 C# uses familiar math symbols; 2.12 Loops perform an action over and over again; 2.13 Time to start coding; 2.14 if/else statements make decisions; 2.15 Set up conditions and see if they''re true; 2.16 Csharpcross; 2.17 Csharpcross Solution;Chapter 3: Objects: Get Oriented!: Making Code Make Sense; 3.1 How Mike thinks about his problems; 3.
2 How Mike''s car navigation system thinks about his problems; 3.3 Mike''s Navigator class has methods to set and modify routes; 3.4 Use what you''ve learned to build a simple application; 3.5 Mike gets an idea; 3.6 Mike can use objects to solve his problem; 3.7 You use a class to build an object; 3.8 When you create a new object from a class, it''s called an instance of that class.; 3.
9 A better solution. brought to you by objects!; 3.10 An instance uses fields to keep track of things; 3.11 Let''s create some instances!; 3.12 Thanks for the memory; 3.13 What''s on your program''s mind; 3.14 You can use class and method names to make your code intuitive; 3.15 Give your classes a natural structure; 3.
16 Class diagrams help you organize your classes so they make sense; 3.17 Build a class to work with some guys; 3.18 Create a project for your guys; 3.19 Build a form to interact with the guys; 3.20 There''s an even easier way to initialize objects; 3.21 A few ideas for designing intuitive classes; 3.22 Objectcross; 3.23 Objectcross Solution;Chapter 4: Types and References: It''s 10:00.
Do you know where your data is?; 4.1 The variable''s type determines what kind of data it can store; 4.2 A variable is like a data to-go cup; 4.3 10 pounds of data in a 5 pound bag; 4.4 Even when a number is the right size, you can''t just assign it to any variable; 4.5 When you cast a value that''s too big, C# will adjust it automatically; 4.6 C# does some casting automatically; 4.7 When you call a method, the variables must match the types of the parameters; 4.
8 Combining = with an operator; 4.9 Objects use variables, too; 4.10 Refer to your objects with reference variables; 4.11 References are like labels for your object; 4.12 If there aren''t any more references, your object gets garbage collected; 4.13 Typecross; 4.14 Multiple references and their side effects; 4.15 Two references means TWO ways to change an object''s data; 4.
16 A special case: arrays; 4.17 Arrays can contain a bunch of reference variables, too; 4.18 Welcome to Sloppy Joe''s Budget House o'' Discount Sandwiches!; 4.19 Objects use references to talk to each other; 4.20 Where no object has gone before; 4.21 Typecross Solution;C# Lab A Day at the Races; Chapter 5: Encapsulation: Keep your privates. private; 5.1 Kathleen is an event planner; 5.
2 What does the estimator do?; 5.3 Kathleen''s Test Drive; 5.4 Each option should be calculated individually; 5.5 It''s easy to accidentally misuse your objects; 5.6 Encapsulation means keeping some of the data in a class private; 5.7 Use encapsulation to control access to your class''s methods and fields; 5.8 But is the realName field REALLY protected?; 5.9 Private fields and methods can only be accessed from inside the class; 5.
10 A few ideas for encapsulating classes; 5.11 Encapsulation keeps your data pristine; 5.12 Properties make encapsulation easier; 5.13 Build an application to test the Farmer class; 5.14 Use automatic properties to finish the class; 5.15 What if we want to change the feed multiplier?; 5.16 Use a constructor to initialize private fields; Chapter 6: Inheritance: Your object''s family tree; 6.1 Kathleen does birthday parties, too; 6.
2 We need a BirthdayParty class; 6.3 One more thing. can you add a $100 fee for parties over 12?; 6.4 When your classes use inheritance, you only need to write your code once; 6.5 Build up your class model by starting general and getting more specific; 6.6 How would you design a zoo simulator?; 6.7 Use inheritance to avoid duplicate code in subclasses; 6.8 Different animals make different noises; 6.
9 Think about how to group the animals; 6.10 Create the class hierarchy; 6.11 Every subclass extends its base class; 6.12 Use a colon to inherit from a base class; 6.13 We know that inheritance adds the base class fields, properties, and methods to the subclass.; 6.14 A subclass can override methods to change or replace methods it inherited; 6.15 Any place where you can use a base class, you can use one of its subclasses instead; 6.
16 A subclass can access its base class using the base keyword; 6.17 When a base class has a constructor, your subclass needs one too; 6.18 Now you''re ready to finish the job for Kathleen!; 6.19 Build a beehive management system; 6.20 First you''ll build the basic system; 6.21 Use inheritance to extend the bee management system; Chapter 7: Interfaces and Abstract Classes: Making classes keep their promises; 7.1 Let''s get back to bee-sics; 7.2 We can use inheritance to create classes for different types of bees; 7.
3 An interface tells a class that it must implement certain methods and properties; 7.4 Use the interface keyword to define an interface; 7.5 Now you can create an instance of NectarStinger that does both jobs; 7.6 Classes that implement interfaces have to include ALL of the interface''s methods; 7.7 Get a little practice using interfaces; 7.8 You can''t instantiate an interface, but you can reference an interface; 7.9 Interface references work just like object references; 7.10 You can find out if a class implements a certain interface with "is"; 7.
11 Interfaces can inherit from other interfaces; 7.12 The RoboBee 4000 can do a worker bee''s job without using valuable honey; 7.13 is tells you what an object implements, as tells the compiler how to treat your object; 7.14 A CoffeeMaker is also an Appliance; 7.15 Upcasting works with both objects and interfaces; 7.16 Downcasting lets you turn your appliance back into a coffee maker; 7.17 Upcasting and downcasting work with interfaces, too; 7.18 There''s more than just public and private; 7.
19 Access modifiers change scope; 7.20 Some classes should never be instantiated; 7.21 An abstract class is like a cross between a class and an interface; 7.22 Like we said, some classes should never be instantiated; 7.23 An abstract method doesn''t have a body; 7.24 Polymorphism means that one object can take many different forms; Chapter 8: Enums and Collections: Storing lots of data; 8.1 Strings don''t always work for storing categories of data; 8.2 Enums let you enumerate a set of valid values; 8.
3 Enums let you represent numbers with names; 8.4 We could use an array to create a deck of cards.; 8.5 Arrays are hard to work with; 8.6 Lists make it easy to store collections of. anything; 8.7 Lists are more flexible than arrays; 8.8 Lists shrink and grow dynamically; 8.
9 List objects can store any type; 8.10 Collection initializers work just like object initializers; 8.11 Let''s create a list of Ducks; 8.12 Lists are easy, but SORTING can be tricky; 8.13 Two ways to sort your ducks; 8.14 Use IComparer to tell your List how to sort; 8.15 Create an instance of your comparer object; 8.16 IComparer can do complex comparisons; 8.
17 Use a dictionary to store keys and values; 8.18 The Dictionary Functionality Rundown; 8.19 Your key and value can be different types, too; 8.20 You can build your own overloaded methods; 8.21 And yet MORE collection types.; 8.22 A queue is FIFO -- First In, First Out; 8.23 A stack is LIFO -- Last In, First Out;C# Lab: The Quest; Chapter 9: Reading and Writing Files: Save the byte array, save the world; 9.
1 C# uses streams to read and write data; 9.2 Different streams read and write different things; 9.3 A FileStream writes bytes to a file; 9.4 How to write text to a file in 3 simple steps; 9.5 The Swin.