Skip to main content

Beginning Microsoft Visual C# 2008

Beginning Microsoft Visual C# 2008

Karli Watson, Christian Nagel, Jacob Hammer Pedersen, Jon D. Reid, Morgan Skinner, Eric White

ISBN: 978-1-118-05945-6

Jan 2011

1344 pages

Select type: E-Book

Product not available for purchase


The book is aimed at novice programmers who wish to learn programming with C# and the .NET framework. The book starts with absolute programming basics. It then moves into Web and Windows programming, data access (databases and XML), and more advanced technologies such as graphics programming with GDI+ and basic networking. The book is divided into sections including:
  • The C# Language: Basic language skills using console application. Content moves from the absolute basics to fairly involved OOP skills.
  • Windows Vista Programming: Using basic Windows applications, reinforcing earlier OOP and debugging skills.
  • Web Programming: Putting together basic Web applications, highlighting differences between Web and Windows programming.
  • Data Access: Accessing all kinds of data sources from Web and Windows applications, including SQL usage, XML, file system data, and Web Services.
  • Additional Techniques: "The fun stuff", including Windows Presentation Foundation, Windows Workflow, Windows Communication Foundation, GDI+, networking, Windows Services, and so on.

The book makes complicated subjects seem easy to learn, and it inspires readers to investigate areas further on their own by providing references to additional material, and exercise questions that require significant effort and personal research to complete.

Introduction xxvii

Part I: The C# Language 1

Chapter 1: Introducing C# 3

Chapter 2: Writing a C# Program 13

Chapter 3: Variables and Expressions 31

Chapter 4: Flow Control 59

Chapter 5: More About Variables 93

Chapter 6: Functions 125

Chapter 7: Debugging and Error Handling 155

Chapter 8: Introduction to Object-Oriented Programming 185

Chapter 9: Defining Classes 209

Chapter 10: Defining Class Members 241

Chapter 11: Collections, Comparisons, and Conversions 277

Chapter 12: Generics 331

Chapter 13: Additional OOP Techniques 371

Chapter 14: C# 3.0 Language Enhancements 399

Part II: Windows Programming 431

Chapter 15: Basic Windows Programming 433

Chapter 16: Advanced Windows Forms Features 493

Chapter 17: Using Common Dialogs 537

Chapter 18: Deploying Windows Applications 583

Part III: Web Programming 625

Chapter 19: Basic Web Programming 627

Chapter 20: Advanced Web Programming 671

Chapter 21: Web Services 709

Chapter 22: Ajax Programming 739

Chapter 23: Deploying Web Applications 759

Part IV: Data Access 775

Chapter 24: File System Data 777

Chapter 25: XML 819

Chapter 26: Introduction to LINQ 849

Chapter 27: LINQ to SQL 895

Chapter 28: ADO.NET and LINQ over DataSet 933

Chapter 29: LINQ to XML 993

Part V: Additional Techniques 1017

Chapter 30: Attributes 1019

Chapter 31: XML Documentation 1049

Chapter 32: Networking 1075

Chapter 33: Introduction to GDI+ 1107

Chapter 34: Windows Presentation Foundation 1143

Chapter 35: Windows Communication Foundation 1215

Chapter 36: Windows Workflow Foundation 1247

Summary 1278

Index 1279

Chapter Code Downloads
Chapter 1 has no code. Chapter 11 was updated on 10/10/13.
Exercise Solutions
ChapterPageDetailsDatePrint Run
.NET garbage collection works by inspecting the memory of your computer every so often

should be

.NET garbage collection works by inspecting the memory of your computer ever so often

11Error in Text
Under "Summary", Third Paragraph, Second Point:

What C# is and what makes it an idea tool to program in the .NET Framework.

Should Be

What C# is and what makes it an "ideal" tool to program in the .NET Framework.

53Error in Table Footnote
Below the Operator Precedence table:
In addition, note that ++ and -, when used as suffixes, only have lowest priority in conceptual terms, as described in the table.

should be:
In addition, note that ++ and --, when used as suffixes, only have lowest priority in conceptual terms, as described in the table.

179Error in Code
In the code on the top of page 179, the quotation marks are misplaced. The code should be:

Console.WriteLine("Main() System.IndexOutOfRangeException catch" + " block reached. Message:\"n\"{0}", e.Message);

435VS 2005 Reference Correct
Anchoring, Docking and Snapping Controls section:
Visual Studio 2005 reference is not an error, but the behaviour modified in 2005 persists into 2008.

450Error in Code
In this code:
this.textBoxName.Validating += new System.ComponentModel.@@ta CancelEventHandler(this.textBoxEmpty_Validating);
this.textBoxAddress.Validating += new

new System.ComponentModel.@@ta CancelEventHandler(this.textBoxEmpty_Validating);

The @@ta should have been replaced with a code continuation character; it is not part of the code.

Error in Code
Chapter 11, Example 3:

instead of if(min < 2) min = 2;

if (minimum < 2) min = 2;

566Error in Text
if (y = e.PageBound.Height - 80)

should be

if (y >= e.PageBound.Height - 80)

1100Error in Text
In the table:

PictureBox control

Should be

Image control