CLR via C#, Third Edition

( 2 )

Pick Up in Store

Reserve and pick up in 60 minutes at your local store

Paperback (Third Edition)
$35.99
BN.com price
$59.99 List Price (Save 40%)
Marketplace (New and Used)
from
$23.98
$59.99 List Price (Save 60%)
All (25)  
Used (8)  
New (17)  
Close
Sort by
Page 1 of 3
Showing 1 – 9 of 25 (3 pages)
$23.98
(Save 60%)
Seller since 2008

Feedback rating:

(301)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

Very Good
2010 Paperback Very good condition. Absolutely no highlighting or markings inside the books. Good covers subject to prior use. (Some items may have creases or dings but are ... otherwise in excellent condition) NB: If an item is listed as having a CD/DVD, it will be included. Read more Show Less

Ships from: Front Royal, VA

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$32.94
(Save 45%)
Seller since 2012

Feedback rating:

(5)

Condition: New
All orders ship same business day via standard shipping (USPS Media Mail) if received by 1 PM CST. We do not ship to APO/FPO addresses.

Ships from: Richardson, TX

Usually ships in 1-2 business days

  • Standard, 48 States
$33.26
(Save 45%)
Seller since 2007

Feedback rating:

(3210)

Condition: Very Good
Buy with confidence. Excellent Customer Service & Return policy.

Ships from: Richmond, TX

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
$33.76
(Save 44%)
Seller since 2010

Feedback rating:

(7946)

Condition: New
BRAND NEW FROM PUBLISHER! 100% Satisfaction Guarantee. Tracking provided on most orders. Buy with Confidence! Millions of books sold!

Ships from: Grand Rapids, MI

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$35.10
(Save 41%)
Seller since 2012

Feedback rating:

(970)

Condition: New
BRAND NEW - 100% GUARANTEED! Fast shipping

Ships from: Bayonne, NJ

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$35.25
(Save 41%)
Seller since 2009

Feedback rating:

(4796)

Condition: New
Shipped from US in 4 to 14 business days. Established seller since 2000

Ships from: Aurora, IL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$38.27
(Save 36%)
Seller since 2009

Feedback rating:

(4796)

Condition: New
Shipped from US in 4 to 14 business days. Established seller since 2000

Ships from: Aurora, IL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$38.66
(Save 36%)
Seller since 2009

Feedback rating:

(4796)

Condition: New
This item will be shipped from our warehouse in Chicago.

Ships from: Aurora, IL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$39.02
(Save 35%)
Seller since 2008

Feedback rating:

(14111)

Condition: Like New
Brand New, Perfect Condition, Please allow 4-14 business days for delivery. 100% Money Back Guarantee, Over 1,000,000 customers served.

Ships from: South Bend, IN

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 3
Showing 1 – 9 of 25 (3 pages)
Close
Sort by

Overview

Dig deep and master the intricacies of the common language runtime (CLR) and the .NET Framework 4.0. Written by a highly regarded programming expert and consultant to the Microsoft® .NET team, this guide is ideal for developers building any kind of application-including Microsoft® ASP.NET, Windows® Forms, Microsoft® SQL Server®, Web services, and console applications. You'll get hands-on instruction and extensive C# code samples to help you tackle the tough topics and develop high-performance applications.

... See more details below
Sending request ...

Overview

Dig deep and master the intricacies of the common language runtime (CLR) and the .NET Framework 4.0. Written by a highly regarded programming expert and consultant to the Microsoft® .NET team, this guide is ideal for developers building any kind of application-including Microsoft® ASP.NET, Windows® Forms, Microsoft® SQL Server®, Web services, and console applications. You'll get hands-on instruction and extensive C# code samples to help you tackle the tough topics and develop high-performance applications.

Product Details

  • ISBN-13: 9780735627048
  • Publisher: Microsoft Press
  • Publication date: 3/5/2010
  • Edition description: Third Edition
  • Edition number: 3
  • Pages: 896
  • Sales rank: 145,204
  • Product dimensions: 7.30 (w) x 8.90 (h) x 1.70 (d)

Meet the Author

Jeffrey Richter is a cofounder of Wintellect (www.wintellect.com)-a training, debugging, and consulting firm dedicated to helping companies build better software faster. He is the author of the previous editions of this book, Windows via C/C++, and several other Windows®-related programming books. Jeffrey has been consulting with the Microsoft® .NET Framework team since October 1999.

Table of Contents

Foreword; Introduction; Who This Book Is For; Dedication; Acknowledgments; Support for This Book; We Want to Hear from You; Part I: CLR Basics; Chapter 1: The CLR's Execution Model; 1.1 Compiling Source Code into Managed Modules; 1.2 Combining Managed Modules into Assemblies; 1.3 Loading the Common Language Runtime; 1.4 Executing your Assembly's Code; 1.5 The Native Code Generator Tool: NGen.exe; 1.6 The Framework Class Library; 1.7 The Common Type System; 1.8 The Common Language Specification; 1.9 Interoperability with Unmanaged Code; Chapter 2: Building, Packaging, Deploying, and Administering Applications and Types; 2.1 .NET Framework Deployment Goals; 2.2 Building Types into a Module; 2.3 A Brief Look at Metadata; 2.4 Combining Modules to Form an Assembly; 2.5 Assembly Version Resource Information; 2.6 Culture; 2.7 Simple Application Deployment (Privately Deployed Assemblies); 2.8 Simple Administrative Control (Configuration); Chapter 3: Shared Assemblies and Strongly Named Assemblies; 3.1 Two Kinds of Assemblies, Two Kinds of Deployment; 3.2 Giving an Assembly a Strong Name; 3.3 The Global Assembly Cache; 3.4 Building an Assembly That References a Strongly Named Assembly; 3.5 Strongly Named Assemblies Are Tamper-Resistant; 3.6 Delayed Signing; 3.7 Privately Deploying Strongly Named Assemblies; 3.8 How the Runtime Resolves Type References; 3.9 Advanced Administrative Control (Configuration); Part II: Designing Types; Chapter 4: Type Fundamentals; 4.1 All Types Are Derived from System.Object; 4.2 Casting Between Types; 4.3 Namespaces and Assemblies; 4.4 How Things Relate at Runtime; Chapter 5: Primitive, Reference, and Value Types; 5.1 Programming Language Primitive Types; 5.2 Reference Types and Value Types; 5.3 Boxing and Unboxing Value Types; 5.4 Object Hash Codes; 5.5 The dynamic Primitive Type; Chapter 6: Type and Member Basics; 6.1 The Different Kinds of Type Members; 6.2 Type Visibility; 6.3 Member Accessibility; 6.4 Static Classes; 6.5 Partial Classes, Structures, and Interfaces; 6.6 Components, Polymorphism, and Versioning; Chapter 7: Constants and Fields; 7.1 Constants; 7.2 Fields; Chapter 8: Methods; 8.1 Instance Constructors and Classes (Reference Types); 8.2 Instance Constructors and Structures (Value Types); 8.3 Type Constructors; 8.4 Operator Overload Methods; 8.5 Conversion Operator Methods; 8.6 Extension Methods; 8.7 Partial Methods; Chapter 9: Parameters; 9.1 Optional and Named Parameters; 9.2 Implicitly Typed Local Variables; 9.3 Passing Parameters by Reference to a Method; 9.4 Passing a Variable Number of Arguments to a Method; 9.5 Parameter and Return Type Guidelines; 9.6 Const-ness; Chapter 10: Properties; 10.1 Parameterless Properties; 10.2 Parameterful Properties; 10.3 The Performance of Calling Property Accessor Methods; 10.4 Property Accessor Accessibility; 10.5 Generic Property Accessor Methods; Chapter 11: Events; 11.1 Designing a Type That Exposes an Event; 11.2 How the Compiler Implements an Event; 11.3 Designing a Type That Listens for an Event; 11.4 Explicitly Implementing an Event; Chapter 12: Generics; 12.1 Generics in the Framework Class Library; 12.2 Wintellect's Power Collections Library; 12.3 Generics Infrastructure; 12.4 Generic Interfaces; 12.5 Generic Delegates; 12.6 Delegate and Interface Contravariant and Covariant Generic Type Arguments; 12.7 Generic Methods; 12.8 Generics and Other Members; 12.9 Verifiability and Constraints; Chapter 13: Interfaces; 13.1 Class and Interface Inheritance; 13.2 Defining an Interface; 13.3 Inheriting an Interface; 13.4 More About Calling Interface Methods; 13.5 Implicit and Explicit Interface Method Implementations (What's Happening Behind the Scenes); 13.6 Generic Interfaces; 13.7 Generics and Interface Constraints; 13.8 Implementing Multiple Interfaces That Have the Same Method Name and Signature; 13.9 Improving Compile-Time Type Safety with Explicit Interface Method Implementations; 13.10 Be Careful with Explicit Interface Method Implementations; 13.11 Design: Base Class or Interface?; Part III: Essential Types; Chapter 14: Chars, Strings, and Working with Text; 14.1 Characters; 14.2 The System.String Type; 14.3 Constructing a String Efficiently; 14.4 Obtaining a String Representation of an Object: ToString; 14.5 Parsing a String to Obtain an Object: Parse; 14.6 Encodings: Converting Between Characters and Bytes; 14.7 Secure Strings; Chapter 15: Enumerated Types and Bit Flags; 15.1 Enumerated Types; 15.2 Bit Flags; 15.3 Adding Methods to Enumerated Types; Chapter 16: Arrays; 16.1 Initializing Array Elements; 16.2 Casting Arrays; 16.3 All Arrays Are Implicitly Derived from System.Array; 16.4 All Arrays Implicitly Implement IEnumerable, ICollection, and IList; 16.5 Passing and Returning Arrays; 16.6 Creating Non-Zero–Lower Bound Arrays; 16.7 Array Access Performance; 16.8 Unsafe Array Access and Fixed-Size Array; Chapter 17: Delegates; 17.1 A First Look at Delegates; 17.2 Using Delegates to Call Back Static Methods; 17.3 Using Delegates to Call Back Instance Methods; 17.4 Demystifying Delegates; 17.5 Using Delegates to Call Back Many Methods (Chaining); 17.6 Enough with the Delegate Definitions Already (Generic Delegates); 17.7 C#'s Syntactical Sugar for Delegates; 17.8 Delegates and Reflection; Chapter 18: Custom Attributes; 18.1 Using Custom Attributes; 18.2 Defining Your Own Attribute Class; 18.3 Attribute Constructor and Field/Property Data Types; 18.4 Detecting the Use of a Custom Attribute; 18.5 Matching Two Attribute Instances Against Each Other; 18.6 Detecting the Use of a Custom Attribute Without Creating Attribute-Derived Objects; 18.7 Conditional Attribute Classes; Chapter 19: Nullable Value Types; 19.1 C#'s Support for Nullable Value Types; 19.2 C#'s Null-Coalescing Operator; 19.3 The CLR Has Special Support for Nullable Value Types; Part IV: Core Facilities; Chapter 20: Exceptions and State Management; 20.1 Defining "Exception"; 20.2 Exception-Handling Mechanics; 20.3 The System.Exception Class; 20.4 FCL-Defined Exception Classes; 20.5 Throwing an Exception; 20.6 Defining Your Own Exception Class; 20.7 Trading Reliability for Productivity; 20.8 Guidelines and Best Practices; 20.9 Unhandled Exceptions; 20.10 Debugging Exceptions; 20.11 Exception-Handling Performance Considerations; 20.12 Constrained Execution Regions (CERs); 20.13 Code Contracts; Chapter 21: Automatic Memory Management (Garbage Collection); 21.1 Understanding the Basics of Working in a Garbage-Collected Platform; 21.2 The Garbage Collection Algorithm; 21.3 Garbage Collections and Debugging; 21.4 Using Finalization to Release Native Resources; 21.5 Using Finalization with Managed Resources; 21.6 What Causes Finalize Methods to Be Called?; 21.7 Finalization Internals; 21.8 The Dispose Pattern: Forcing an Object to Clean Up; 21.9 Using a Type That Implements the Dispose Pattern; 21.10 C#'s using Statement; 21.11 An Interesting Dependency Issue; 21.12 Monitoring and Controlling the Lifetime of Objects Manually; 21.13 Resurrection; 21.14 Generations; 21.15 Other Garbage Collection Features for Use with Native Resources; 21.16 Predicting the Success of an Operation that Requires a Lot of Memory; 21.17 Programmatic Control of the Garbage Collector; 21.18 Thread Hijacking; 21.19 Garbage Collection Modes; 21.20 Large Objects; 21.21 Monitoring Garbage Collections; Chapter 22: CLR Hosting and AppDomains; 22.1 CLR Hosting; 22.2 AppDomains; 22.3 AppDomain Unloading; 22.4 AppDomain Monitoring; 22.5 AppDomain First-Chance Exception Notifications; 22.6 How Hosts Use AppDomains; 22.7 Advanced Host Control; Chapter 23: Assembly Loading and Reflection; 23.1 Assembly Loading; 23.2 Using Reflection to Build a Dynamically Extensible Application; 23.3 Reflection Performance; 23.4 Designing an Application That Supports Add-Ins; 23.5 Using Reflection to Discover a Type's Members; Chapter 24: Runtime Serialization; 24.1 Serialization/Deserialization Quick Start; 24.2 Making a Type Serializable; 24.3 Controlling Serialization and Deserialization; 24.4 How Formatters Serialize Type Instances; 24.5 Controlling the Serialized/Deserialized Data; 24.6 Streaming Contexts; 24.7 Serializing a Type as a Different Type and Deserializing an Object as a Different Object; 24.8 Serialization Surrogates; 24.9 Overriding the Assembly and/or Type When Deserializing an Object; Part V: Threading; Chapter 25: Thread Basics; 25.1 Why Does Windows Support Threads?; 25.2 Thread Overhead; 25.3 Stop the Madness; 25.4 CPU Trends; 25.5 NUMA Architecture Machines; 25.6 CLR Threads and Windows Threads; 25.7 Using a Dedicated Thread to Perform an Asynchronous Compute-Bound Operation; 25.8 Reasons to Use Threads; 25.9 Thread Scheduling and Priorities; 25.10 Foreground Threads versus Background Threads; 25.11 What Now?; Chapter 26: Compute-Bound Asynchronous Operations; 26.1 Introducing the CLR's Thread Pool; 26.2 Performing a Simple Compute-Bound Operation; 26.3 Execution Contexts; 26.4 Cooperative Cancellation; 26.5 Tasks; 26.6 Parallel's Static For, ForEach, and Invoke Methods; 26.7 Parallel Language Integrated Query; 26.8 Performing a Periodic Compute-Bound Operation; 26.9 How the Thread Pool Manages Its Threads; 26.10 Cache Lines and False Sharing; Chapter 27: I/O-Bound Asynchronous Operations; 27.1 How Windows Performs I/O Operations; 27.2 The CLR's Asynchronous Programming Model (APM); 27.3 The AsyncEnumerator Class; 27.4 The APM and Exceptions; 27.5 Applications and Their Threading Models; 27.6 Implementing a Server Asynchronously; 27.7 The APM and Compute-Bound Operations; 27.8 APM Considerations; 27.9 I/O Request Priorities; 27.10 Converting the IAsyncResult APM to a Task; 27.11 The Event-Based Asynchronous Pattern; 27.12 Programming Model Soup; Chapter 28: Primitive Thread Synchronization Constructs; 28.1 Class Libraries and Thread Safety; 28.2 Primitive User-Mode and Kernel-Mode Constructs; 28.3 User-Mode Constructs; 28.4 Kernel-Mode Constructs; Chapter 29: Hybrid Thread Synchronization Constructs; 29.1 A Simple Hybrid Lock; 29.2 Spinning, Thread Ownership, and Recursion; 29.3 A Potpourri of Hybrid Constructs; 29.4 The Famous Double-Check Locking Technique; 29.5 The Condition Variable Pattern; 29.6 Using Collections to Avoid Holding a Lock for a Long Time; 29.7 The Concurrent Collection Classes;

Jeffrey Richter is a cofounder of Wintellect (www.wintellect.com)-a training, debugging, and consulting firm dedicated to helping companies build better software faster. He is the author of the previous editions of this book, Windows via C/C++, and several other Windows-related programming books. Jeffrey has been consulting with the Microsoft .NET Framework team since October 1999.

Customer Reviews

Average Rating 5
( 2 )

Rating Distribution

5 Star

(2)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or Leave Anonymously

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 identiy 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

We're sorry, but penname is already taken.

Please select one of the following:
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

penname is available!

By visiting the BN.com website or marking a purchase on BN.com, a User is deemed to have accepted the Terms of Use.

Continue Anonymously

Welcome, penname

You have successfully created your Pen Name. Start enjoying the benefits of the BN.com Community today.

Sort by: Showing all of 2 Customer Reviews
  • Posted December 8, 2010

    Highly Recommended

    The book is great, Richter provides a welth of information about .Net in general. I strongly recommend it to everyone, beginner and experienced developers. Reading this book will give you a quantum leap of understanding into the .Net framework.

    On the side that I found less than great is the fact that the book has been arround since .Net 1.x and has been revised twice. So for example in .Net 4 Tasks have taken over from "naked" treads yet the majority of the later chapters talk about and provide exmaples using the thread-pool. The book does cover Tasks though. The book feels like the additions to .Net are there as an after-thought.

    The second point I have is that I personally would have liked to have seen more examples. Though I understand that it was a balancing act between the thickness of the book and the examples that Richter provides. In whole I do believe that Richter did achieve a good balance between book thickness and examples provided.

    --Avi

    Was this review helpful? Yes  No   Report this review
  • Posted April 8, 2010

    Another Jeffrey Richter Classic

    I've been collecting and studying Jeffrey's technical books for ten years now. All of his books are chock full of little gems that you just don't find anywhere else.

    If you really want to know what happens when you code your .NET application in a certain manner, this book is where you'll find that out. It doesn't just tell you what IL code is generated, but the implications of your code on the performance and reliability of your application.

    You'll want to read each chapter several times to ferret out all the insights tucked away in there. Especially pay attention to the chapters on multi-threading. Don't foray into that quicksand without reading those chapters first!

    I've offered to loan this book out at work, but don't seem to get any takers. They think I'm a bit of a geek perhaps. Then again, they all wonder why I'm getting paid twice as much as they are. My not-so secret weapons are the books written by Jeffrey Richter, Charles Petzold, and others. If you want to be the best, arm yourself with the best information available.

    Maybe I am a geek..

    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)
500 character limit