Core C# and.NET: The Complete and Comprehensive Developer's Guide to C# 2.0 and.NET 2.0

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 96%)
Other sellers (Paperback)
  • All (19) from $1.99   
  • New (3) from $44.45   
  • Used (16) from $1.99   

Overview

  • Written for C# 2.0 and .NET 2.0: contains coverage of generics, Master Pages, the DataGridView, and other new features
  • Covers Web development, Windows development, data management, security, threading, remoting, and much more
  • Presents hundreds of non-trivial code examples that help you solve real-world problems

The Complete and Comprehensive Developer's Guide to C# 2.0 and .NET 2.0

Core C# and .NET is the no-nonsense, example-rich guide to achieving exceptional results with C# 2.0 and .NET 2.0. Writing for experienced programmers, Stephen Perry presents today's best practices for leveraging both C# 2.0 language features and Microsoft's .NET 2.0 infrastructure.

Like all books in the Core Series, Core C# and .NET focuses on solving real-world problems with serious, non-trivial code. Perry's broad, deep coverage ranges from new C# generics to Web services, from reflection to security. He systematically introduces the development of Windows Forms applications and the effective use of GDI+ graphics classes. He offers detailed guidance on data management with

With practical insights into everything from scalability to localization, this is the C# book you've been searching for: your definitive guide to building production-quality C# applications.

Core C# and .NET delivers

  • Best practices for building C#/.NET Windows applications, Web applications, and Web services
  • Expert insight into security, scalability, and other crucial issues
  • Hundreds of professional-quality code examples
  • In-depth coverage of the latest C# 2.0 features, including generics

EVERY CORE SERIES BOOK:

DEMONSTRATES practicaltechniques used by professional developers

FEATURES robust, thoroughly tested sample code and realistic examples

FOCUSES on the cutting-edge technologies you need to master today

PROVIDES expert advice that will help you build superior software

© Copyright Pearson Education. All rights reserved.

Read More Show Less

Product Details

  • ISBN-13: 9780131472273
  • Publisher: Prentice Hall
  • Publication date: 9/28/2005
  • Series: Core Series
  • Pages: 1008
  • Sales rank: 1,050,120
  • Product dimensions: 7.00 (w) x 9.35 (h) x 1.88 (d)

Meet the Author

Stephen C. Perry has more than twenty-five years of experience in the computer field working as a software developer, director of software development, and consultant. During his career, he has designed and developed software on a spectrum of computing platforms that include IBM mainframes and Unix-based minicomputers. For the past eight years, he has specialized in using Microsoft technologies to provide integrated Web and desktop software solutions for clients in the legal, medical, and textile industries.

© Copyright Pearson Education. All rights reserved.

Read More Show Less

Read an Excerpt

PrefacePreface

The process of preparing programs for a digital computer is especially attractive

because it not only can be economically and scientifically rewarding, it can

also be an aesthetic experience much like composing poetry or music.

Donald Knuth, preface to Fundamental Algorithms (1968)

Thirty-seven years later, programmers still experience the same creative satisfaction from a well-crafted program. It can be ten lines of recursive code that pops into one's head at midnight, or it can be an entire production management system whose design requires a year of midnights. Then, as now, good programs still convey an impression of logic and naturalness—particularly to their users.

But the challenges have evolved. Software is required to be more malleable—it may be run from a LAN, the Internet, or a cellular phone. Security is also a much bigger issue, since the code may be accessible all over the world. This, in turn, raises issues of scalability and how to synchronize code for hundreds of concurrent users. More users bring more cultures, and the concomitant need to customize programs to meet the language and culture characteristics of a worldwide client base.

. NET—and the languages written for it—addresses these challenges as well as any unified development environment. This book is written for developers, software architects, and students who choose to work with the .NET Framework. All code in the book is written in C#, although only one chapter is specifically devoted to the syntactical structure of the C# language.

This book is not an introduction to programming—it assumesyou are experienced in a computer language. This book is not an introduction to object oriented programming (OOP)—although it will re-enforce the principles of encapsulation, polymorphism, and inheritance through numerous examples. Finally, this book is not an introduction to using Visual Studio .NET to develop C# programs. VS.NET is mentioned, but the emphasis is on developing and understanding C# and the .NET classes—independent of any IDE.

This book is intended for the experienced programmer who is moving to .NET and wants to get an overall feel for its capabilities. You may be a VB6 or C++ programmer seeking exposure to .NET; a VB.NET programmer expanding your repertoire into C#; or—and yes it does happen occasionally—a Java programmer investigating life on the far side. Here's what you'll find if you choose to journey through this book.

18 Chapters. The first four chapters should be read in order. They provide an introduction to C# and a familiarity with using the .NET Class libraries. The remaining chapters can be read selectively based on your interests. Chapters 6 and 7 describe how to develop Windows Forms applications. Chapter 8 and 9 deal with GDI+—the .NET graphics classes. Chapters 10 through 12 are about working with data. Both

  • .NET 2.0. The manuscript went to publication after the release of Beta 2.0. As such, it contains information based on that release. The 2.0 topics are integrated within the chapters, rather than placing them in a special 2.0 section. However, as a convenience, Appendix A contains a summary and separate index to the .NET 2.0 topics.

  • Coding examples. Most of the code examples are short segments that emphasize a single construct or technique. The objective is to avoid filler code that does nothing but waste paper. Only when it is essential, does a code example flow beyond a page in length. (Note that all significant code examples are available as a download from www.corecsharp.net.)

  • Questions and answers. Each chapter ends with a section of questions to test your knowledge. The answers are available in a single section at the end of the book.

  • Fact rather opinion. This book is not based on my opinion; it is based on the features inherent in .NET and C#. Core recommendations and notes are included with the intent of providing insight rather than opinion.

While some will disagree, if you really want to learn C# and .NET, shut down your IDE, pull out your favorite text editor, and learn how to use the C# compiler from the command line. Once you have mastered the fundamentals, you can switch to VS.NET and any other IDE for production programming.

Finally, a word about .NET and Microsoft. This book was developed using Microsoft .NET 1.x and Whidbey betas. It includes topics such as ADO.NET and ASP.NET that are very much a Microsoft proprietary implementations. In fact Microsoft has applied to patent these methodologies. However all of C# and many of the .NET basic class libraries are based on a standard that enables them to be ported to other platforms. Now, and increasingly in the future, many of the techniques described in this book will be applicable to .NET like implementations (see Mono) on non-Windows platforms.

© Copyright Pearson Education. All rights reserved.

Read More Show Less

Table of Contents

About the Author.

Foreword.

Preface.

Acknowledgments.

I. FUNDAMENTALS OF C# PROGRAMMING AND INTRODUCTION TO .NET.

1. Introduction to .NET and C#.

Overview of the .NET Framework

   Microsoft .NET and the CLI Standards

Common Language Runtime

   Compiling .NET Code

   Common Type System

   Assemblies

Framework Class Library

Working with the .NET Framework and SDK

   Updating the .NET Framework

   .NET Framework Tools

   Ildasm.exe

   wincv.exe

   Framework Configuration Tool

Understanding the C# Compiler

   Locating the Compiler

   Compiling from the Command Line

Summary

Test Your Understanding

2. C# Language Fundamentals.

The Layout of a C# Program

   General C# Programming Notes

Primitives

   decimal

   bool

   char

   byte, sbyte

   short, int, long

   single, double

   Using Parse and TryParse to Convert a Numeric String

Operators: Arithmetic, Logical, and Conditional

   Arithmetic Operators

   Conditional and Relational Operators

   Control Flow Statements

   if-else

   switch

Loops

   while loop

   do loop

   for loop

   foreach loop

   Transferring Control Within a Loop

C# Preprocessing Directives

   Conditional Compilation

   Diagnostic Directives

   Code Regions

Strings

   String Literals

   String Manipulation

Enumerated Types

   Working with Enumerations

   System.Enum Methods

   Enums and Bit Flags

Arrays

   Declaring and Creating an Array

   Using System.Array Methods and Properties

Reference and Value Types

   System.Object and System.ValueType

   Memory Allocation for Reference and Value Types

   Boxing

   Summary of Value and Reference Type Differences

Summary

Test Your Understanding

3. Class Design in C#.

Introduction to a C# Class

Defining a Class

   Attributes

   Access Modifiers

   Abstract, Sealed, and Static Modifiers

   Class Identifier

   Base Classes, Interfaces, and Inheritance

Overview of Class Members

   Member Access Modifiers

Constants, Fields, and Properties

   Constants

   Fields

   Properties

   Indexers

Methods

   Method Modifiers

   Passing Parameters

Constructors

   Instance Constructor

   Private Constructor

   Static Constructor

Delegates and Events

   Delegates

   Delegate-Based Event Handling

Operator Overloading

Interfaces

   Creating and Using a Custom Interface

   Working with Interfaces

Generics

Structures

   Defining Structures

   Using Methods and Properties with a Structure

Structure Versus Class

    Structures Are Value Types and Classes Are Reference Types

   Unlike a Class, a Structure Cannot Be Inherited

   General Rules for Choosing Between a Structure and a Class

Summary

Test Your Understanding

4. Working with Objects in C#.

Object Creation

   Example: Creating Objects with Multiple Factories

Exception Handling

   System.Exception Class

   Writing Code to Handle Exceptions

   Example: Handling Common SystemException Exceptions

   How to Create a Custom Exception Class

   Unhandled Exceptions

   Exception Handling Guidelines

Implementing System.Object Methods in a Custom Class

   ToString() to Describe an Object

   Equals() to Compare Objects

   Cloning to Create a Copy of an Object

Working with .NET Collection Classes and Interfaces

   Collection Interfaces

   System.Collections Namespace

   Stack and Queue

   ArrayList

   Hashtable

   System.Collections.Generic Namespace

Object Serialization

   Binary Serialization

Object Life Cycle Management

   .NET Garbage Collection

Summary

Test Your Understanding

II. CREATING APPLICATIONS USING THE .NET FRAMEWORK CLASS LIBRARY.

5. C# Text Manipulation and File I/O.

Characters and Unicode

   Unicode

   Working with Characters

The String Class

   Creating Strings

  Overview of String Operations

Comparing Strings

   Using String.Compare

   Using String.CompareOrdinal

Searching, Modifying, and Encoding a String's Content

   Searching the Contents of a String

   Searching a String That Contains Surrogates

   String Transformations

   String Encoding

StringBuilder

   StringBuilder Class Overview

   StringBuilder Versus String Concatenation

Formatting Numeric and DateTime Values

   Constructing a Format Item

   Formatting Numeric Values

   Formatting Dates and Time

Regular Expressions

   The Regex Class

   Creating Regular Expressions

   A Pattern Matching Example

   Working with Groups

   Examples of Using Regular Expressions

System.IO: Classes to Read and Write Streams of Data

   The Stream Class

   FileStreams

   MemoryStreams

   BufferedStreams

   Using StreamReader and StreamWriter to Read and Write Lines of Text

   StringWriter and StringReader

   Encryption with the CryptoStream Class

System.IO: Directories and Files

   FileSystemInfo

   Working with Directories Using the DirectoryInfo, Directory, and Path Classes

   Working with Files Using the FileInfo and File Classes

Summary

Test Your Understanding

6. Building Windows Forms Applications.

Programming a Windows Form

   Building a Windows Forms Application by Hand

Windows.Forms Control Classes

   The Control Class

   Working with Controls

   Control Events

The Form Class

   Setting a Form's Appearance

   Setting Form Location and Size

   Displaying Forms

   The Life Cycle of a Modeless Form

   Forms Interaction—A Sample Application

   Owner and Owned Forms

   Message and Dialog Boxes

   Multiple Document Interface Forms

Working with Menus

   MenuItem Properties

   Context Menus

Adding Help to a Form

   ToolTips

   Responding to F1 and the Help Button

   The HelpProvider Component

Forms Inheritance

   Building and Using a Forms Library

   Using the Inherited Form

Summary

Test Your Understanding

7. Windows Forms Controls.

A Survey of .NET Windows Forms Controls

Button Classes, Group Box, Panel, and Label

   The Button Class

   The CheckBox Class

   The RadioButton Class

   The GroupBox Class

   The Panel Class

   The Label Class

PictureBox and TextBox Controls

   The PictureBox Class

   The TextBox Class

ListBox, CheckedListBox, and ComboBox Classes

   The ListBox Class

   Other List Controls: the ComboBox and the CheckedListBox

The ListView and TreeView Classes

   The ListView Class

   The TreeView Class

The ProgressBar, Timer, and StatusStrip Classes

   Building a StatusStrip

Building Custom Controls

   Extending a Control

    Building a Custom UserControl

   A UserControl Example

   Using the Custom User Control

   Working with the User Control at Design Time

Using Drag and Drop with Controls

   Overview of Drag and Drop

Using Resources

   Working with Resource Files

   Using Resource Files to Create Localized Forms

Summary

Test Your Understanding

8. .NET Graphics Using GDI+.

GDI+ Overview

   The Graphics Class

   The Paint Event

Using the Graphics Object

   Basic 2-D Graphics

   Pens

   Brushes

   Colors

   A Sample Project: Building a Color Viewer

Images

   Loading and Storing Images

   Manipulating Images

   Sample Project: Working with Images

   A Note on GDI and BitBlt for the Microsoft Windows Platform

Summary

Test Your Understanding

9. Fonts, Text, and Printing.

Fonts

   Font Families

   The Font Class

Drawing Text Strings

   Drawing Multi-Line Text

   Formatting Strings with the StringFormat Class

   Using Tab Stops

   String Trimming, Alignment, and Wrapping

Printing

   Overview

   PrintDocument Class

   Printer Settings

   Page Settings

   PrintDocument Events

   PrintPage Event

   Previewing a Printed Report

   A Report Example

   Creating a Custom PrintDocument Class

Summary

Test Your Understanding

10. Working with

Working with

   Using

  

   Using an

Techniques for Reading

  

  

   The

   Using an

   Options for Reading

Techniques for Writing

Using XPath to Search

   Constructing XPath Queries

  

   XPathDocument and Xpath

  

Summary

Test Your Understanding

11. ADO.NET.

Overview of the ADO.NET Architecture

   OLE DB Data Provider in .NET

   .NET Data Provider

Data Access Models: Connected and Disconnected

   Connected Model

   Disconnected Model

ADO.NET Connected Model

   Connection Classes

   The Command Object

   DataReader Object

DataSets, DataTables, and the Disconnected Model

   The DataSet Class

   DataTables

   Loading Data into a DataSet

   Using the DataAdapter to Update a Database

   Defining Relationships Between Tables in a DataSet

   Choosing Between the Connected and Disconnected Model

   Using a DataSet to Create

   Creating a DataSet Schema from

   Reading

Summary

Test Your Understanding

12. Data Binding with Windows Forms Controls.

Overview of Data Binding

   Simple Data Binding

   Complex Data Binding with List Controls

   One-Way and Two-Way Data Binding

   Using Binding Managers

Using Simple and Complex Data Binding in an Application

   Binding to a DataTable

   Binding Controls to an ArrayList

   Adding an Item to the Data Source

   Identifying Updates

   Update Original Database with Changes

The DataGridView Class

   Properties

   Events

   Setting Up Master-Detail DataGridViews

   Virtual Mode

Summary

Test Your Understanding

III. ADVANCED USE OF C# AND THE .NET FRAMEWORK.

13. Asynchronous Programming and Multithreading.

What Is a Thread?

   Multithreading

Asynchronous Programming

   Asynchronous Delegates

   Examples of Implementing Asynchronous Calls

Working Directly with Threads

   Creating and Working with Threads

   Multithreading in Action

   Using the Thread Pool

   Timers

Thread Synchronization

   The Synchronization Attribute

   The Monitor Class

   The Mutex

   The Semaphore

   Avoiding Deadlock

   Summary of Synchronization Techniques

Summary

Test Your Understanding

14. Creating Distributed Applications with Remoting.

Application Domains

   Advantages of AppDomains

   Application Domains and Assemblies

   Working with the AppDomain Class

Remoting

   Remoting Architecture

   Types of Remoting

   Client-Activated Objects

   Server-Activated Objects

   Type Registration

   Remoting with a Server-Activated Object

   Remoting with a Client-Activated Object (CAO)

   Design Considerations in Creating a Distributed Application

Leasing and Sponsorship

   Leasing

   Sponsorship

Summary

Test Your Understanding

15. Code Refinement, Security, and Deployment.

Following .NET Code Design Guidelines

   Using FxCop

Strongly Named Assemblies

   Creating a Strongly Named Assembly

   Delayed Signing

   Global Assembly Cache (GAC)

   Versioning

Security

   Permissions and Permission Sets

   Evidence

   Security Policies

   Configuring Security Policy

   The .NET Framework Configuration Tool

   Configuring Code Access Security with the Configuration Tool—An Example

   Requesting Permissions for an Assembly

   Programmatic Security

Application Deployment Considerations

   Microsoft Windows Deployment: XCOPY Deployment Versus the Windows Installer

   Deploying Assemblies in the Global Assembly Cache

   Deploying Private Assemblies

   Using CodeBase Configuration

   Using a Configuration File to Manage Multiple Versions of an Assembly

   Assembly Version and Product Information

Summary

Test Your Understanding

IV. PROGRAMMING FOR THE INTERNET.

16. ASP.NET Web Forms and Controls.

Client-Server Interaction over the Internet

   Web Application Example: Implementing a BMI Calculator

   Using ASP.NET to Implement a BMI Calculator

   Inline Code Model

   The Code-Behind Model

   Code-Behind with Partial Classes

   Page Class

Web Forms Controls

   Web Controls Overview

   Specifying the Appearance of a Web Control

   Simple Controls

   List Controls

   The DataList Control

Data Binding and Data Source Controls

   Binding to a DataReader

   Binding to a DataSet

   DataSource Controls

Validation Controls

   Using Validation Controls

Master and Content Pages

   Creating a Master Page

   Creating a Content Page

   Accessing the Master Page from a Content Page

Building and Using Custom Web Controls

   A Custom Control Example

   Using a Custom Control

   Control State Management

   Composite Controls

Selecting a Web Control to Display Data

Summary

Test Your Understanding

17. The ASP.NET Application Environment.

HTTP Request and Response Classes

   HttpRequest Object

   HttpResponse Object

ASP.NET and Configuration Files

   A Look Inside web.config

   Adding a Custom Configuration Section

ASP.NET Application Security

   Forms Authentication

   An Example of Forms Authentication

Maintaining State

   Application State

   Session State

Caching

   Page Output Caching

   Data Caching

Creating a Web Client with WebRequest and WebResponse

   WebRequest and WebResponse Classes

   Web Client Example

HTTP Pipeline

   Processing a Request in the Pipeline

   HttpApplication Class

   HTTP Modules

   HTTP Handlers

Summary

Test Your Understanding

18.

Introduction to Web Services

   Discovering and Using a Web Service

Building an

   Creating a Web Service by Hand

   Creating a Web Service Using VS.NET

   Extending the Web Service with the WebService and WebMethod Attributes

Building an

   Creating a Simple Client to Access the Web Service Class

   Creating a Proxy with Visual Studio.NET

Understanding WSDL and SOAP

   Web Services Description Language (WSDL)

   Simple Object Access Protocol (SOAP)

Using Web Services with Complex Data Types

   A Web Service to Return Images

   Using Amazon Web Services

   Creating a Proxy for the Amazon Web Services

   Building a WinForms Web Service Client

Web Services Performance

   Configuring the HTTP Connection

   Working with Large Amounts of Data

Summary

Test Your Understanding

Appendix A. Features Specific to .NET 2.0 and C# 2.0.

Appendix B. DataGridView Events and Delegates.

Answers to Chapter Exercises.

Index.

 

Read More Show Less

Preface

Preface

The process of preparing programs for a digital computer is especially attractive

because it not only can be economically and scientifically rewarding, it can

also be an aesthetic experience much like composing poetry or music.

Donald Knuth, preface to Fundamental Algorithms (1968)

Thirty-seven years later, programmers still experience the same creative satisfaction from a well-crafted program. It can be ten lines of recursive code that pops into one's head at midnight, or it can be an entire production management system whose design requires a year of midnights. Then, as now, good programs still convey an impression of logic and naturalness—particularly to their users.

But the challenges have evolved. Software is required to be more malleable—it may be run from a LAN, the Internet, or a cellular phone. Security is also a much bigger issue, since the code may be accessible all over the world. This, in turn, raises issues of scalability and how to synchronize code for hundreds of concurrent users. More users bring more cultures, and the concomitant need to customize programs to meet the language and culture characteristics of a worldwide client base.

. NET—and the languages written for it—addresses these challenges as well as any unified development environment. This book is written for developers, software architects, and students who choose to work with the .NET Framework. All code in the book is written in C#, although only one chapter is specifically devoted to the syntactical structure of the C# language.

This book is not an introduction to programming—it assumes you are experienced in a computer language. This book is not an introduction to object oriented programming (OOP)—although it will re-enforce the principles of encapsulation, polymorphism, and inheritance through numerous examples. Finally, this book is not an introduction to using Visual Studio .NET to develop C# programs. VS.NET is mentioned, but the emphasis is on developing and understanding C# and the .NET classes—independent of any IDE.

This book is intended for the experienced programmer who is moving to .NET and wants to get an overall feel for its capabilities. You may be a VB6 or C++ programmer seeking exposure to .NET; a VB.NET programmer expanding your repertoire into C#; or—and yes it does happen occasionally—a Java programmer investigating life on the far side. Here's what you'll find if you choose to journey through this book.

18 Chapters. The first four chapters should be read in order. They provide an introduction to C# and a familiarity with using the .NET Class libraries. The remaining chapters can be read selectively based on your interests. Chapters 6 and 7 describe how to develop Windows Forms applications. Chapter 8 and 9 deal with GDI+—the .NET graphics classes. Chapters 10 through 12 are about working with data. Both XML and ADO.NET are discussed. Chapters 13, 14, and 15 tackle the more advanced topics of threading, remoting, and code security, respectively. The final chapters form a Web trilogy: Chapter 16 discusses ASP.NET Web page development; Chapter 17 looks behind the scenes at how to manage state information and manage HTTP requests; the book closes with a look at Web Services.

  • .NET 2.0. The manuscript went to publication after the release of Beta 2.0. As such, it contains information based on that release. The 2.0 topics are integrated within the chapters, rather than placing them in a special 2.0 section. However, as a convenience, Appendix A contains a summary and separate index to the .NET 2.0 topics.
  • Coding examples. Most of the code examples are short segments that emphasize a single construct or technique. The objective is to avoid filler code that does nothing but waste paper. Only when it is essential, does a code example flow beyond a page in length. (Note that all significant code examples are available as a download from www.corecsharp.net.)
  • Questions and answers. Each chapter ends with a section of questions to test your knowledge. The answers are available in a single section at the end of the book.
  • Fact rather opinion. This book is not based on my opinion; it is based on the features inherent in .NET and C#. Core recommendations and notes are included with the intent of providing insight rather than opinion.

While some will disagree, if you really want to learn C# and .NET, shut down your IDE, pull out your favorite text editor, and learn how to use the C# compiler from the command line. Once you have mastered the fundamentals, you can switch to VS.NET and any other IDE for production programming.

Finally, a word about .NET and Microsoft. This book was developed using Microsoft .NET 1.x and Whidbey betas. It includes topics such as ADO.NET and ASP.NET that are very much a Microsoft proprietary implementations. In fact Microsoft has applied to patent these methodologies. However all of C# and many of the .NET basic class libraries are based on a standard that enables them to be ported to other platforms. Now, and increasingly in the future, many of the techniques described in this book will be applicable to .NET like implementations (see Mono) on non-Windows platforms.

© Copyright Pearson Education. All rights reserved.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 2 Customer Reviews
  • Anonymous

    Posted July 10, 2008

    Headache

    This booked seemed very promising at first sight until I tried to read it. I found the code examples to be very confusing and tedious to understand. References are made to example codes but there weren't any line numbers given to aide the reader in finding the specific reference. This made me very upset, especially when trying to understand a very detailed/busy code. I found myself having to switch from using this book as a primary source and instead used it as a backup.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted September 27, 2006

    Outdated and error prone

    While 'Written for C# 2.0 and .NET 2.0' this book predates Visual Studio 2005. The examples in the book are at best illustrative and should not be used as models for code. The book presents many examples most of which are incomplete and misleading. If the goal is developing code derived from the examples, the reader should be prepared to reverse engineer the examples. In the complex and unstable world of C# and .NET 2.0 development, use of pseudo-code is a necessity. This book neither achieves its objective as a code-by-example book nor as an introduction to .NET 2.0. The book looked very promising compared to the others on the B&N shelf, researching key points and correcting the book is an overwhelming task that should have been done by publisher Prentice-Hall / Pearson Education Inc. and the author.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 2 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)