Skip to main content

Beginning Visual C#® 2005

Beginning Visual C#® 2005

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

ISBN: 978-0-471-75296-7

Dec 2005

1062 pages

Select type: E-Book

Product not available for purchase


Creating next-generation software and applications is now easier than ever with the release of Visual C# 2005. This accessible book guides you through all aspects of C# programming and the capabilities of Visual Studio 2005 so that you can begin developing customized applications.

You'll first learn all aspects of the C# language, from the fundamentals to object-oriented techniques. You'll then quickly progress through Windows(r) and Web programming to making use of data sources, and finally to some advanced techniques such as XML documentation and graphics programming with GDI+. Throughout the book, you'll also find helpful hints, tips, exercises, and full-fledged example code that will enhance your programming skills.

This book covers everything you need to know about Visual C# 2005 and the .NET Framework to create powerful, secure applications for mobile devices, Web applications, Windows applications, and Web services.

What you will learn from this book

  • Ways to add functionality to your Visual C# applications
  • How to publish applications to the Web with the click of a button
  • Techniques for assembling advanced Windows applications with a minimum of effort and time
  • Tips for using Web services to add complex data and functionality to Web applications
  • How to improve your C# applications using object-oriented programming
  • Steps for using ADO.NET to interact with databases and deal with XML

Who this book is for

This book is for anyone who wants to learn how to program in C# using the .NET Framework. It is also for programmers who know .NET 1.0 and want to find out about the latest features of .NET 2.0 and Visual Studio 2005.

Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.

Related Resources


Part One: The C# Language.

Chapter 1: Introducing C#.

Chapter 2: Writing a C# Program.

Chapter 3: Variables and Expressions.

Chapter 4: Flow Control.

Chapter 5: More about Variables.

Chapter 6: Functions.

Chapter 7: Debugging and Error Handling.

Chapter 8: Introduction to Object-Oriented Programming.

Chapter 9: Defining Classes.

Chapter 10: Defining Class Members.

Chapter 11: Collections, Comparisons, and Conversions.

Chapter 12: Generics.

Chapter 13: Additional OOP Techniques.

Part Two: Windows Programming.

Chapter 14: Basic Windows Programming.

Chapter 15: Advanced Windows Forms Features.

Chapter 16: Using Common Dialogs.

Chapter 17: Deploying Windows Applications.

Part Three: Web Programming.

Chapter 18: Basic Web Programming.

Chapter 19: Advanced Web Programming.

Chapter 20: Web Services.

Chapter 21: Deploying Web Applications.

Part Four: Data Access.

Chapter 22: File System Data.

Chapter 23: XML.

Chapter 24: Databases and ADO.NET.

Chapter 25: Data Binding.

Part Five: Additional Techniques.

Chapter 26: .NET Assemblies.

Chapter 27: Attributes.

Chapter 28: XML Documentation.

Chapter 29: Networking.

Chapter 30: Introduction to GDI+.


  • 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 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 – Light introductions to “the fun stuff”, including GDI+, networking, Windows Services, and so on.
  • NEW! Instructor Supplements online! Powerpoints, Test Bank, Instructors Manual.
Excercise Answers Download
Source Code Download
Chapter 14 Code -- revised Download
42 on Website PDFCode Error in Exercise Answers.pdf on website,Page 42 of the 578472_Exercise Answers.pdf (available for download on the website)

if (dlgPrint.PrinterSettings.SupportsColor)
printBrush = new SolidBrush(textBoxEdit.ForeColor);
printBrush = Brushes.Black;

should be:

if (dlgPrint.PrinterSettings.SupportsColor)
printBrush = new SolidBrush(textBoxEdit.ForeColor);
printBrush = Brushes.Black;
Code Replacement,The content for this title has been posted and may be accessed via:,descCd-download_code.html
xxxviiiTypo in Text,2nd paragraph in Errata section: link to each's book's errata should read link to each book's errata 5/28/09
32Error in Exercise Answer,In Exercise 4, the solution reads:
The * and / operators have the highest precedence here, followed by +, <<, and finally +=. The precedence in the exercise can be illustrated using parentheses as follows: resultVar += (((var1 * var2) + var3) << (var4 / var5));

Should read:
The *, % and / operators have the highest precedence here, followed by + and +=. The precedence in the exercise can be illustrated using parentheses as follows: resultVar += ((var1 * var2) + ((var3 % var4) / var5));
20Error in Command Prompt,On page 20, it indicates to run from the command prompt type reads:

C:\BegVCSharp\Chapter2\ConsoleApplication1\bin\Debug then type ConsoleApplication1.

However, since a directory was created when we set the settings back to default and kept the checkbox selected for creating a directory for the solution the text should read:

C:\BegVCSharp\ConsoleApplication1\ConsoleApplication1\bin\Debug to be in the correct directory as the executable.
31Typo in Text,First paragraph on the page:

tweak the settings to sort your personal style

Should be

tweak the settings to suit your personal style
44Error in Text/Code,On page 44 it is stated that the conditional operator is a logical one, in that it returns a Boolean value.

This is wrong. It returns the value of the second or third operand.

Example: (a>b)?5:9 doesn’t return a Boolean value.
66Error in Text/Code,On page 66 is stated that the unary suffix increment en decrement (i++ and i--) operators have lowest precedence. The language specification states that the unary suffix operator is placed in the Primary category, thus takes highest precedence.

Example: statement a=b++; would be equivalent to the syntactically wrong statement (a=b)++; if the suffix operator had lowest precedence.
6131Error in Text,Chapter 6, page 131:
text reads:
Calling showDouble() with myNumber.... ,

should read:
Calling ShowDouble() with myNumber..... . Camel Casing was used instead of Pascal Casing
149Error in Text,Reference to Chapter 12 should be Chapter 13. 07/31/2007
188Typo in Diagram,in UML diagram: