Skip to main content

Professional C#, 3rd Edition

Professional C#, 3rd Edition

Simon Robinson, Christian Nagel, Karli Watson, Jay Glynn, Morgan Skinner, Bill Evjen

ISBN: 978-0-764-57196-1

Jun 2004

1200 pages

Select type: E-Book


Product not available for purchase


What is this book about?

C# is designed to work with .NET to provide a new framework for programming on the Windows platform. This comprehensive reference prepares you to program in C#, while at the same time providing the necessary background in how the .NET architecture works.

In this all-new third edition, you’ll be introduced to the fundamentals of C# and find updated coverage of application deployment and globalization. You’ll gain a working knowledge of the language and be able to apply it in the .NET environment, build Windows forms, access databases with ADO.NET, write components for ASP.NET, take advantage of .NET support for working with COM and COM+, and much more.

Professional C#, 3rd Edition, is the complete C# resource for developers, packed with code and examples that have been updated for the latest release — the .NET Framework 1.1 and Visual Studio .NET 2003.

What does this book cover?

Here is just a few of the things you'll discover in this book:

  • How to program in the object-oriented C# language
  • Methods for manipulating XML using C#
  • Integration with COM, COM+, and Active Directory
  • How to write Windows applications and Windows services
  • Distributed applications with .NET Remoting
  • An understanding of .NET Assemblies
  • How to generate graphics with C#
  • Ways to control .NET security, and much more

Who is this book for?

This book is for experienced developers who are already familiar with C++, Visual Basic, or J++. No prior knowledge of C# is required.


Part I: The C# Language.

Chapter 1: .NET Architecture.

Chapter 2: C# Basics.

Chapter 3: Objects and Types.

Chapter 4: Inheritance.

Chapter 5: Operators and Casts.

Chapter 6: Delegates and Events.

Chapter 7: Memory Management and Pointers.

Chapter 8: Strings and Regular Expressions.

Chapter 9: Collections.

Chapter 10: Reflection.

Chapter 11: Errors and Exceptions.

Part II: The .NET Environment.

Chapter 12: Visual Studio .NET.

Chapter 13: Assemblies

Chapter 14: .NET Security.

Chapter 15: Threading.

Chapter 16: Distributed Applications with .NET Remoting.

Chapter 17: Localization.

Chapter 18: Deployment.

Part III: Windows Forms.

Chapter 19: Windows Forms.

Chapter 20: Graphics with GDI+.

Part IV: Data.

Chapter 21: Data Access with .NET.

Chapter 22: Viewing .NET Data.

Chapter 23: Manipulating XML.

Chapter 24: Working with Active Directory.

Part V: Web Programming.

Chapter 25: ASP.NET Pages.

Chapter 26: Web Services.

Chapter 27: User Controls and Custom Controls.

Part VI: Interop.

Chapter 28: COM Interoperability.

Chapter 29: Enterprise Services.

Part VII: Windows Base Services.

Chapter 30: File and Registry Operations.

Chapter 31: Accessing the Internet.

Chapter 32: Windows Services.


Appendix A: Principles of Object-Oriented Programming.

Appendix B: C# for Visual Basic 6 Developers.

Appendix C: C# for Java Developers.

Appendix D: C# for C++ Developers.


Download Appendix D: C# for C++ Developers Download
Download the code for the book in zip format Download
Download Appendix A: Principles of Object-Oriented Programming Download
Download Appendix B: C# for Visual Basic 6 Developers Download
Download Appendix C: C# for Java Developers Download
ChapterPageDetailsDatePrint Run
xxvxii Text Error, to understand and didn't make many programming tasks easy should be to understand and made many programming tasks easy 10/7/04
xxvxiiiText Error, ... , Jave is not designed to work with the .NET environment. should be ... , Java was not designed to work with the .NET environment. 10/7/04
5Text Error, The pervious example qualifies as...
Should be:
The previous example qualifies as...
8Text Error, In no way with COM did component written ... should be In no way did COM component written ... 10/7/04
17Text Error, (indeed dynamic assemblies are stored in memory, not on file at all). should be (indeed dynamic assemblies are stored in memory, not in files at all). 10/7/04
21Text Error, sometimes make development difficult should be sometimes makes development difficult 10/7/04
27Figure Error,In the figure, there is a missing line connecting the left ASSEMBLY containing IL CODE to the vertical line below ASSEMBLY containing IL CODE - but before the horizontal line connecting to the box .NET base classes -- since C# can also use these base classes. The line connecting the left ASSEMBLY containing IL CODE to the CLR ORGANIZES box should have been higher.10/7/04
27Text Error, Garbage collector cleans up sources should be Garbage collector simplifies sources since it can automatically clean out unused items. 10/7/04
32Spelling/grammar,The line starts Next, we declare a class ostensibly called MyFirstClass
The class name is MyFirstCSharpClass, which is what is used in the previous page and lines following this line containing the error.
332nd paragraph,This refers to sentence 3: In our case, we have have two modifiers: public and static.
Nowhere in the code blocks in the previous two pages has the 'public' access modifier been used. A person new to C# and without much of a programming background might get confused. Worse a C++ programmer would expect the access modifier for this method to be 'private' which is the default in C++ for methods and data. The access modifier should be 'public' for methods by default in Java.
37Error in code in text ,Location: Scope clashes for fields and local variables
Description: using System; namespace Wrox.ProCSharp.Basics { class ScopeTest2 { static int j = 20; public static void Main() { int j = 30; Console.WriteLine(j); return; } } }
47Text Error,The syntax for the if (condition) statement(s) else statement(s) is wrong, it can only be if (condition) statement | block else statement | block since it can only be a single statement or a block of statement, which is the same as a single statement. This is clearly stated in the text below the shaded example. 10/7/04
481st code sample, Last else if block, ""Newline in constant"" error,The bad code is in the last else if block. There are two possible fixes:
1) The quoted string needs to be preceded by the @ symbol to allow it to span two lines, or
2) the top string needs to be properly terminated with double quotes and the string fragment remaining on the second line should be precedeeded by quotes so it can be properly concatenated to the first stri