Synopses & Reviews
If you're new to C#, this popular book is the ideal way to get started. Completely revised for the latest version of the language, Learning C# 3.0 starts with the fundamentals and takes you through intermediate and advanced C# features -- including generics, interfaces, delegates, lambda expressions, and LINQ. You'll also learn how to build Windows applications and handle data with C#.
No previous programming experience is required -- in fact, if you've never written a line of code in your life, bestselling authors Jesse Liberty and Brian MacDonald will show you how it's done. Each chapter offers a self-contained lesson to help you master key concepts, with plenty of annotated examples, illustrations, and a concise summary.
With this book, you will:
- Learn how to program as you learn C#
- Grasp the principles of object-oriented programming through C#
- Discover how to use the latest features in C# 3.0 and the .NET 3.5 Framework--including LINQ and the Windows Presentation Foundation (WPF)
- Create Windows applications and data-driven applications
You'll also find a unique Test Your Knowledge section in each chapter, with practical exercises and review quizzes, so you can practice new skills and test your understanding. If you're ready to dive into C# and .NET programming, this book is a great way to quickly get up to speed.
Synopsis
This completely revised edition of Learning C# offers thorough coverage of the latest version of the C# language (C# 3.0), scaled to a beginner's experience level. No previous programming experience is required; the authors start with the fundamentals, and work up through intermediate to advanced features. Along the way, you'll learn about the newest features of C# - AJAX is included in the chapter on ASP.NET, and there are three entirely new chapters covering LINQ, Windows Presentation Foundation (WPF), and Silverlight. This completely revised edition of Learning C# offers thorough coverage of the latest version of the C# language (C# 3.0), scaled to a beginner's experience level. No previous programming experience is required; the authors start with the fundamentals, and work up through intermediate to advanced features. Along the way, you'll learn about the newest features of C# - AJAX is included in the chapter on ASP.NET, and there are three entirely new chapters covering LINQ, Windows Presentation Foundation (WPF), and Silverlight.
About the Author
Jesse Liberty, Microsoft .NET MVP, is the best-selling author of O'Reilly Media's "Programming ASP.NET", "Programming C#", "Programming Visual Basic 2005" and over a dozen other books on web and object-oriented programming. He is president of Liberty Associates, Inc. where he provides contract programming, consulting and on-site training in .NET. Jesse is a frequent contributor to O'Reilly Network web sites as well as many industry publications and has spoken at numerous industry events. He is a former Distinguished Software Engineer at AT&T and Vice President for technology development at CitiBank.
Brian MacDonald has edited programming and networking books for major publishers on topics ranging from securing Windows servers to PHP web programming to running an eBay business. He also coauthored O'Reilly's Learning C# 2005 and Learning ASP.NET 2.0 with AJAX.
Table of Contents
Preface; About This Book; Who This Book Is For; How This Book Is Organized; Conventions Used in This Book; Support: A Note from Jesse Liberty; Using Code Examples; We'd Like to Hear from You; Safari® Books Online; Acknowledgments; Chapter 1: C# and .NET Programming; 1.1 Installing C# Express; 1.2 C# 3.0 and .NET 3.5; 1.3 The .NET Platform; 1.4 The .NET Framework; 1.5 The C# Language; 1.6 Your First Program: Hello World; 1.7 The Compiler; 1.8 Examining Your First Program; 1.9 The Integrated Development Environment; 1.10 Summary; 1.11 Test Your Knowledge: Quiz; 1.12 Test Your Knowledge: Exercise; Chapter 2: Visual Studio 2008 and C# Express 2008; 2.1 Before You Read Further; 2.2 The Start Page; 2.3 Projects and Solutions; 2.4 Inside the Integrated Development Environment; 2.5 Building and Running Applications; 2.6 Menus; 2.7 Summary; 2.8 Test Your Knowledge: Quiz; 2.9 Test Your Knowledge: Exercises; Chapter 3: C# Language Fundamentals; 3.1 Statements; 3.2 Types; 3.3 WriteLine( ) and Output; 3.4 Variables and Assignment; 3.5 Casting; 3.6 Constants; 3.7 Strings; 3.8 Whitespace; 3.9 Summary; 3.10 Test Your Knowledge: Quiz; 3.11 Test Your Knowledge: Exercises; Chapter 4: Operators; 4.1 Expressions; 4.2 The Assignment Operator (=); 4.3 Mathematical Operators; 4.4 Increment and Decrement Operators; 4.5 Relational Operators; 4.6 Logical Operators and Conditionals; 4.7 The Conditional Operator; 4.8 Operator Precedence; 4.9 Summary; 4.10 Test Your Knowledge: Quiz; 4.11 Test Your Knowledge: Exercises; Chapter 5: Branching; 5.1 Unconditional Branching Statements; 5.2 Conditional Branching Statements; 5.3 ReadLine( ) and Input; 5.4 Iteration (Looping) Statements; 5.5 Summary; 5.6 Test Your Knowledge: Quiz; 5.7 Test Your Knowledge: Exercises; Chapter 6: Object-Oriented Programming; 6.1 Creating Models; 6.2 Classes and Objects; 6.3 Defining a Class; 6.4 Class Relationships; 6.5 The Three Pillars of Object-Oriented Programming; 6.6 Object-Oriented Analysis and Design; 6.7 Summary; 6.8 Test Your Knowledge: Quiz; 6.9 Test Your Knowledge: Exercises; Chapter 7: Classes and Objects; 7.1 Defining Classes; 7.2 Method Arguments; 7.3 Return Types; 7.4 Constructors; 7.5 Initializers; 7.6 Object Initializers; 7.7 Anonymous Types; 7.8 The this Keyword; 7.9 Static and Instance Members; 7.10 Finalizing Objects; 7.11 Memory Allocation: The Stack Versus the Heap; 7.12 Summary; 7.13 Test Your Knowledge: Quiz; 7.14 Test Your Knowledge: Exercises; Chapter 8: Inside Methods; 8.1 Overloading Methods; 8.2 Encapsulating Data with Properties; 8.3 Returning Multiple Values; 8.4 Summary; 8.5 Test Your Knowledge: Quiz; 8.6 Test Your Knowledge: Exercises; Chapter 9: Basic Debugging; 9.1 Setting a Breakpoint; 9.2 Examining Values: The Autos and Locals Windows; 9.3 Setting Your Watch; 9.4 The Call Stack; 9.5 Stopping Debugging; 9.6 Summary; 9.7 Test Your Knowledge: Quiz; 9.8 Test Your Knowledge: Exercises; Chapter 10: Arrays; 10.1 Using Arrays; 10.2 The foreach Statement; 10.3 Initializing Array Elements; 10.4 The params Keyword; 10.5 Multidimensional Arrays; 10.6 Array Methods; 10.7 Sorting Arrays; 10.8 Summary; 10.9 Test Your Knowledge: Quiz; 10.10 Test Your Knowledge: Exercises; Chapter 11: Inheritance and Polymorphism; 11.1 Specialization and Generalization; 11.2 Inheritance; 11.3 Polymorphism; 11.4 Abstract Classes; 11.5 Sealed Classes; 11.6 The Root of All Classes: Object; 11.7 Summary; 11.8 Test Your Knowlege: Quiz; 11.9 Test Your Knowledge: Exercises; Chapter 12: Operator Overloading; 12.1 Designing the Fraction Class; 12.2 Using the operator Keyword; 12.3 Creating Useful Operators; 12.4 The Equals Operator; 12.5 Conversion Operators; 12.6 Summary; 12.7 Test Your Knowledge: Quiz; 12.8 Test Your Knowledge: Exercises; Chapter 13: Interfaces; 13.1 What Interfaces Are; 13.2 Implementing an Interface; 13.3 Implementing More Than One Interface; 13.4 Casting to an Interface; 13.5 The is and as Operators; 13.6 Extending Interfaces; 13.7 Combining Interfaces; 13.8 Overriding Interface Methods; 13.9 Explicit Interface Implementation; 13.10 Summary; 13.11 Test Your Knowledge: Quiz; 13.12 Test Your Knowledge: Exercises; Chapter 14: Generics and Collections; 14.1 Generics; 14.2 Collection Interfaces; 14.3 Creating Your Own Collections; 14.4 Framework Generic Collections; 14.5 Summary; 14.6 Test Your Knowledge: Quiz; 14.7 Test Your Knowledge: Exercises; Chapter 15: Strings; 15.1 Creating Strings; 15.2 Manipulating Strings; 15.3 Regular Expressions; 15.4 The Regex Class; 15.5 Summary; 15.6 Test Your Knowledge: Quiz; 15.7 Test Your Knowledge: Exercises; Chapter 16: Throwing and Catching Exceptions; 16.1 Bugs, Errors, and Exceptions; 16.2 Throwing Exceptions; 16.3 Searching for an Exception Handler; 16.4 The throw Statement; 16.5 The try and catch Statements; 16.6 How the Call Stack Works; 16.7 Creating Dedicated catch Statements; 16.8 The finally Statement; 16.9 Exception Class Methods and Properties; 16.10 Custom Exceptions; 16.11 Summary; 16.12 Test Your Knowledge: Quiz; 16.13 Test Your Knowledge: Exercises; Chapter 17: Delegates and Events; 17.1 Delegates; 17.2 Using Anonymous Methods; 17.3 Lambda Expressions; 17.4 Summary; 17.5 Test Your Knowledge: Quiz; 17.6 Test Your Knowledge: Exercises; Chapter 18: Creating Windows Applications; 18.1 Creating a Simple Windows Form; 18.2 Creating a Real-World Application; 18.3 Source Code; 18.4 Summary; 18.5 Test Your Knowledge: Quiz; 18.6 Test Your Knowledge: Exercises; Chapter 19: Windows Presentation Foundation; 19.1 Your First WPF Application; 19.2 WPF Differences from Windows Forms; 19.3 Using Resources; 19.4 Animations; 19.5 C# and WPF; 19.6 Summary; 19.7 Test Your Knowledge: Quiz; 19.8 Test Your Knowledge: Exercises; Chapter 20: ADO.NET and Relational Databases; 20.1 Relational Databases and SQL; 20.2 The ADO.NET Object Model; 20.3 Getting Started with ADO.NET; 20.4 Summary; 20.5 Test Your Knowledge: Quiz; 20.6 Test Your Knowledge: Exercises; Chapter 21: LINQ; 21.1 Querying In-Memory Data; 21.2 Anonymous Types and Implicitly Typed Variables; 21.3 Lambda Expressions; 21.4 Ordering and Joining; 21.5 Using LINQ with SQL; 21.6 Using the Object Relational Designer; 21.7 Summary; 21.8 Test Your Knowledge: Quiz; 21.9 Test Your Knowledge: Exercises; Answers to Quizzes and Exercises; Chapter 1: C# and .NET Programming; Chapter 2: Visual Studio 2008 and C# Express 2008; Chapter 3: C# Language Fundamentals; Chapter 4: Operators; Chapter 5: Branching; Chapter 6: Object-Oriented Programming; Chapter 7: Classes and Objects; Chapter 8: Inside Methods; Chapter 9: Basic Debugging; Chapter 10: Arrays; Chapter 11: Inheritance and Polymorphism; Chapter 12: Operator Overloading; Chapter 13: Interfaces; Chapter 14: Generics and Collections; Chapter 15: Strings; Chapter 16: Throwing and Catching Exceptions; Chapter 17: Delegates and Events; Chapter 18: Creating Windows Applications; Chapter 19: Windows Presentation Foundation; Chapter 20: ADO.NET and Relational Databases; Chapter 21: LINQ; Colophon;