BN.com Gift Guide

C# 5.0 Programmer's Reference

( 1 )

Overview

Stay ahead of the game with this comprehensive guide to the C# programming language

Well-known C# expert Rod Stephens gives novice and experienced developers a comprehensive tutorial and reference to standard C#. This new title fully covers the latest C# language standard, C# 5.0, as well as its implementation in the 2013 release of Visual Studio. The author provides exercises and solutions; and his C# Helper website will provide readers and students with ongoing support. This ...

See more details below
Paperback
$35.69
BN.com price
(Save 28%)$49.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (14) from $21.27   
  • New (12) from $24.99   
  • Used (2) from $21.27   
C# 5.0 Programmer's Reference

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
$28.49
BN.com price
(Save 43%)$49.99 List Price

Overview

Stay ahead of the game with this comprehensive guide to the C# programming language

Well-known C# expert Rod Stephens gives novice and experienced developers a comprehensive tutorial and reference to standard C#. This new title fully covers the latest C# language standard, C# 5.0, as well as its implementation in the 2013 release of Visual Studio. The author provides exercises and solutions; and his C# Helper website will provide readers and students with ongoing support. This resource is packed with tips, tricks, tutorials, examples, and exercises and is the perfect professional companion for programmers who want to stay ahead of the game.

Author Rod Stephens is a well-known programming authority and has written more than 25 programming books covering C#, Java, VB, and other languages. His books have sold more than 150,000 copies in multiple editions. This book's useful exercises and solutions are designed to support training and higher education adoptions.

  • Learn the full range of C# programming language features
  • Quickly locate information for specific language features in the reference section
  • Familiarize yourself with handling data types, variables, constants, and much more
  • Experiment with editing and debugging code and using LINQ

Beginning through intermediate-level programmers will benefit from the accessible style of C# 5.0 Programmer's Reference and will have access to its comprehensive range of more advanced topics. Additional support and complementary material are provided at the C# Helper website, www.csharphelper.com. Stay up-to-date and improve your programming skills with this invaluable resource.

Read More Show Less

Product Details

  • ISBN-13: 9781118847282
  • Publisher: Wiley
  • Publication date: 4/28/2014
  • Edition number: 1
  • Pages: 960
  • Sales rank: 428,840
  • Product dimensions: 7.20 (w) x 9.20 (h) x 1.90 (d)

Meet the Author

Rod Stephens is a C# and Windows programming expert with more than 25 programming books to his credit, covering C#, Java, VB, and other programming languages. Rod's C# Helper Website (www.csharphelper.com) receives almost 1 million post views per year, and provides tips, tricks, and code examples for professional C# programmers.

Read More Show Less

Table of Contents

Introduction xxxiii

Part I: The C# Ec osystem

Chapter 1: The C# Environment 3

Visual Studio 3

The C# Compiler 4

The CLR 6

The .NET Framework 8

Summary 9

Exercises 10

Chapter 2: Writing a First Program 11

Types of Projects 11

Console Applications 14

Windows Forms Applications 16

WPF Applications 19

Windows Store Applications 21

Summary 23

Exercises 24

Chapter 3: Program and Code File Structure 27

Hidden Files 28

Preprocessor Directives 31

#define and #undef 31

#if, #else, #elif, and #endif 33

#warning and #error 34

#line 34

#region and #endregion 35

#pragma 36

Code File Structure 37

The using Directive 38

The namespace Statement 40

Class Definitions 42

Comments 43

End-of-line and Multiline Comments 43

XML Comments 45

Summary 48

Exercises 48

Part II: C# Language Elements

Chapter 4: Data Types, Variables, and Constants 53

Data Types 54

Value Versus Reference Types 57

The var Keyword 58

Variable Declaration Syntax 59

Name 62

Attributes 62

Accessibility 63

Static, Constant, and Volatile Variables 64

Initialization 65

Classes and Structures 66

Arrays 67

Collections 68

Literal Type Characters 69

Data Type Conversion 72

Implicit Conversion 73

Casting 74

Using the as Operator 76

Casting Arrays 77

Parsing 77

Using System.Convert 78

Using System.BitConverter 78

ToString 79

Scope 79

Block Scope 79

Method Scope 80

Class Scope 81

Restricting Scope 81

Parameter Declarations 82

By Value 82

By Reference 83

For Output 84

Unusual Circumstances and Exceptions 85

Properties 86

Enumerations 88

Nullable Types 92

Delegates 93

Summary 95

Exercises 96

Chapter 5: Operators 99

Arithmetic Operators 100

Result Data Type 100

Shift Operators 101

Increment and Decrement Operators 101

Comparison Operators 102

Logical Operators 103

Bitwise Operators 105

Conditional and Null-coalescing Operators 106

Assignment Operators 107

Operator Precedence 108

The StringBuilder Class 110

DateTime and TimeSpan Operations 111

Operator Overloading 112

Comparison Operators 113

Logical Operators 115

Type Conversion Operators 115

Summary 117

Exercises 118

Chapter 6: Methods 121

Method Declarations 122

Attributes 122

Accessibility 124

Modifiers 124

Name 128

Return Type 128

Parameters 129

Implementing Interfaces 133

Extension Methods 135

Lambda Expressions 136

Expression Lambdas 136

Statement Lambdas 137

Async Lambdas 138

Variance 139

Asynchronous Methods 140

Calling EndInvoke Directly 140

Handling a Callback 141

Using Async and Await 144

Summary 146

Exercises 147

Chapter 7: Program Control Statements 151

Decision Statements 151

if-else Statements 152

switch Statements 153

Enumerated Values 156

Conditional and Null-coalescing Operators 157

Looping Statements 157

for Loops 157

Noninteger for Loops 159

while Loops 160

do Loops 161

foreach Loops 161

Enumerators 163

Iterators 164

break Statements 165

continue Statements 165

Summary 166

Exercises 166

Chapter 8: LINQ 169

Introduction to LINQ 171

Basic LINQ Query Syntax 173

from 173

where 174

orderby 175

select 175

Using LINQ Results 177

Advanced LINQ Query Syntax 178

join 178

join into 179

group by 179

Aggregate Values 181

Set Methods 182

Limiting Results 183

Other LINQ Methods 184

LINQ Extension Methods 185

Method-Based Queries 185

Method-Based Queries with Lambda Functions 187

Extending LINQ 188

LINQ to Objects 189

LINQ to XML 189

XML Literals 190

LINQ into XML 191

LINQ out of XML 192

LINQ to ADO.NET 194

LINQ to SQL and LINQ to Entities 194

LINQ to DataSet 195

PLINQ 198

Summary 200

Exercises 201

Chapter 9: Error Handling 205

Bugs Versus Undesirable Conditions 206

Catching Bugs 206

Code Contracts 209

Catching Undesirable Conditions 213

Global Exception Handling 216

try catch Blocks 220

Exception Objects 223

Throwing Exceptions 224

Rethrowing Exceptions 226

Custom Exceptions 227

Summary 229

Exercises 229

Chapter 10: Tracing and Debugging 231

The Debug Menu 232

The Debug ➪ Windows Submenu 234

The Breakpoints Window 235

The Immediate Window 237

Trace Listeners 238

Summary 240

Exercises 241

Part III: Object-Oriented Programming

Chapter 11: OO P Concepts 245

Classes 245

Encapsulation 248

Inheritance 250

Inheritance Hierarchies 251

Refinement and Abstraction 252

Has-a and Is-a Relationships 257

Adding and Modifying Class Features 257

Hiding and Overriding 258

abstract 261

sealed 262

Polymorphism 263

Summary 266

Exercises 266

Chapter 12: Classes and Structures 269

Classes 270

attributes 270

accessibility 271

abstract | sealed | static 272

partial 273

Structures 275

Value Versus Reference Types 275

Memory Requirements 276

Heap and Stack Performance 277

Object Assignment 277

Parameter Passing 277

Boxing and Unboxing 281

Constructors 282

Structure Instantiation Details 285

Garbage Collection 286

Destructors 286

Dispose 288

Events 290

Declaring Events 290

Raising Events 292

Catching Events 292

Using Event Delegate Types 292

Using Static Events 296

Hiding and Overriding Events 296

Raising Parent Class Events 296

Implementing Custom Events 297

Static Methods 298

Summary 300

Exercises 301

Chapter 13: Namespaces 303

Collisions in .NET 304

The using Directive 304

Project Templates 307

Item Templates 309

The Default Namespace 311

Making Namespaces 311

Resolving Namespaces 313

The global Namespace 314

Summary 315

Exercises 315

Chapter 14: Collection Classes 317

Arrays 318

Dimensions 318

Lower Bounds 318

Resizing 319

Speed 320

Other Array Class Features 320

System.Collections 321

ArrayList 321

StringCollection 324

NameValueCollection 325

Dictionaries 326

ListDictionary 327

Hashtable 328

HybridDictionary 329

StringDictionary 329

SortedList 329

CollectionsUtil 331

Stacks and Queues 331

Stack 331

Queue 333

Generic Collections 335

Collection Initializers 337

Iterators 338

Summary 339

Exercises 340

Chapter 15: Generics 343

Advantages of Generics 344

Defining Generics 344

Generic Constructors 345

Multiple Types 346

Constrained Types 348

Default Values 352

Instantiating Generic Classes 352

Generic Collection Classes 352

Generic Methods 352

Generics and Extension Methods 353

Summary 354

Exercises 355

Part IV: Interacting with the Environment

Chapter 16: Printing 359

Windows Forms Printing 359

Basic Printing 360

Drawing Basics 365

WPF Printing 380

Using a Paginator 381

Creating Documents 385

Summary 390

Exercises 390

Chapter 17: Configuration and Resources 393

Environment Variables 394

Setting Environment Variables 394

Using System.Environment 395

Registry 397

Configuration Files 402

Resource Files 405

Application Resources 405

Embedded Resources 406

Localization Resources 407

Summary 408

Exercises 408

Chapter 18: Streams 411

Stream 412

FileStream 414

MemoryStream 415

BinaryReader and BinaryWriter 416

TextReader and TextWriter 418

StringReader and StringWriter 419

StreamReader and StreamWriter 421

Exists, OpenText, CreateText, and AppendText 422

Custom Stream Classes 423

Summary 423

Exercises 424

Chapter 19: File System Objects 425

Filesystem Permissions 426

.NET Framework Classes 426

Directory 426

File 428

DriveInfo 430

DirectoryInfo 431

FileInfo 432

FileSystemWatcher 434

Path 436

Using the Recycle Bin 438

Using the FileIO.FileSystem Class 438

Using API Functions 439

Using Shell32.Shell 440

Summary 443

Exercises 444

Chapter 20: Networking 445

Networking Classes 446

Downloading Information 448

Downloading with WebClient 448

Downloading with WebRequest 451

Uploading Information 455

Uploading with WebClient 455

Uploading with WebRequest 455

Getting FTP Information 456

Sending E‑mail 458

Sending Text Messages 460

Summary 462

Exercises 463

Part V: Advanced Topics

Chapter 21: Regular Expressions 469

Building Regular Expressions 470

Character Escapes 471

Character Classes 472

Anchors 473

Grouping Constructs 474

Quantifiers 475

Alternation Constructs 476

Sample Regular Expressions 476

Using Regular Expressions 478

Matching Patterns 479

Finding Matches 480

Making Replacements 481

Parsing Input 482

Summary 483

Exercises 483

Chapter 22: Parallel Programming 485

Interacting with the User Interface 488

BackgroundWorker 491

TPL 492

Parallel.For 492

Parallel.ForEach 494

Parallel.Invoke 495

Tasks 496

Threads 498

Coordinating Tasks 499

Race Conditions 499

Deadlocks 501

Thread-Safe Objects 503

Summary 504

Exercises 505

Chapter 23: ADO .NET 509

Selecting a Database 510

Using Bound Controls 511

Making a Data Source 511

Making a DataGridView Interface 516

Making a Details Interface 518

Making a DataGrid Interface 518

Loading DataSets 525

Using ADO.NET 527

Summary 530

Exercises 531

Chapter 24: XML 533

Basic XML Syntax 534

Writing XML Data 538

XmlWriter 538

Document Object Model 541

XML Literals 547

Reading XML Data 547

XmlTextReader 547

Document Object Model 550

Related Technologies 551

XPath 552

XSLT 555

Summary 559

Exercises 559

Chapter 25: Serialization 563

XML Serialization 564

Performing Serialization 565

Controlling Serialization 569

JSON Serialization 573

Performing Serialization 574

Controlling Serialization 575

Binary Serialization 576

Summary 578

Exercises 578

Chapter 26: Reflection 581

Learning About Classes 582

Getting and Setting Properties 585

Getting Assembly Information 589

Invoking Methods 591

Running Scripts 593

Summary 597

Exercises 597

Chapter 27: Cryptography 601

Cryptographic Operations 602

Randomness 603

Using Random Numbers for Encryption 604

Using Encryption for Random Numbers 604

Cryptographically Secure Randomness 604

Generating Random Numbers 605

Symmetric Key Encryption 608

Simple Encryption and Decryption 608

Keys and Initialization Vectors 612

Generating Key and IV Values 613

Asymmetric Key Encryption 614

Creating, Saving, and Retrieving Keys 615

Encrypting Data 616

Decrypting Data 616

Example Encryption 617

Summary 619

Exercises 619

Part VI: Appendices

Appendix A: Solutions to Exercises 625

Chapter 1 625

Chapter 2 626

Chapter 3 627

Chapter 4 629

Chapter 5 631

Chapter 6 635

Chapter 7 638

Chapter 8 642

Chapter 9 648

Chapter 10 655

Chapter 11 659

Chapter 12 665

Chapter 13 667

Chapter 14 668

Chapter 15 673

Chapter 16 678

Chapter 17 682

Chapter 18 685

Chapter 19 689

Chapter 20 694

Chapter 21 702

Chapter 22 706

Chapter 23 711

Chapter 24 713

Chapter 25 720

Chapter 26 725

Chapter 27 728

Appendix B: Data Types 733

Casting and Converting Values 734

Widening and Narrowing Conversions 735

Converting Objects 735

The as Operator 735

Casting Arrays 736

Parsing Values 736

Appendix C: Variable Declarations 737

Initialization Expressions 738

Using 739

Enumerated Type Declarations 739

Appendix d: Constant Declarations 741

Appendix e: Operators 743

Arithmetic Operators 743

Comparison Operators 744

Logical Operators 744

Bitwise Operators 745

Assignment Operators 745

Conditional and Null-coalescing Operators 745

Operator Precedence 745

DateTime and TimeSpan Operators 747

Operator Overloading 748

Appendix f: Method Declarations 749

Methods 749

Property Procedures 750

Lambda Functions and Expressions 750

Extension Methods 751

Appendix g: Useful Attributes 753

Useful XML Serialization Attributes 753

Useful JSON Serialization Attributes 754

Binary Serialization Attributes 754

Other Useful Attributes 755

Appendix h: Control Statements 757

Decision Statements 757

if-else Statements 757

switch 757

Conditional and Null-coalescing Operators 758

Looping Statements 758

for Loops 758

while Loops 759

do Loops 759

foreach Loops 759

Enumerators 760

Iterators 760

break and continue Statements 760

Appendix i: Error Handling 761

Throwing Exceptions 762

Appendix j: LINQ 763

Basic LINQ Query Syntax 763

from 763

where 764

orderby 764

select 764

join 765

group by 765

Aggregate Values 766

Limiting Results 766

LINQ Functions 767

LINQ to XML 768

XML Literals 768

LINQ into XML 768

LINQ out of XML 769

LINQ to ADO.NET 770

PLINQ 771

Appendix k: Classes and Structures 773

Classes 773

Structures 774

Constructors 774

Destructors 774

Events 775

Appendix l: Collection Classes 777

Arrays 777

Simple Arrays 777

Array Objects 778

Collections 779

Specialized Collections 779

Generic Collections 779

Collection Initializers 780

Iterators 780

Appendix m: Generic Declarations 783

Generic Classes 783

Generic Methods 784

Appendix n: Printing and Graphics 785

Windows Forms Printing 785

Printing Steps 785

Graphics Namespaces 786

Drawing Graphics 787

WPF Printing 795

Using a Paginator 795

Creating Documents 796

Appendix o: Useful Exception Classes 799

Standard Exception Classes 799

Custom Exception Classes 802

Appendix p: Date and Time Format Specifiers 803

Standard Format Specifiers 803

Custom Format Specifiers 804

Appendix q: Other Format Specifiers 807

Standard Numeric Format Specifiers 807

Custom Numeric Format Specifiers 809

Numeric Formatting Sections 809

Composite Formatting 810

Enumerated Type Formatting 811

Appendix r: Streams 813

Stream Class Summary 813

Stream 814

BinaryReader and BinaryWriter 815

TextReader and TextWriter 817

StringReader and StringWriter 818

StreamReader and StreamWriter 818

Text File Stream Methods 818

Appendix s: Filesystem Classes 821

Framework Classes 821

Directory 821

File 823

DriveInfo 825

DirectoryInfo 826

FileInfo 827

FileSystemWatcher 829

Path 830

Special Folders 832

Recycle Bin 832

FileIO.FileSystem 833

API Functions 833

Shell32.Shell 834

Appendix t: Regular Expressions 835

Creating Regular Expressions 835

Character Escapes 835

Character Classes 836

Anchors 836

Regular Expression Options 837

Grouping Constructs 838

Quantifiers 838

Alternation Constructs 838

Sample Regular Expressions 839

Using Regular Expressions 839

Matching Patterns 840

Finding Matches 840

Making Replacements 841

Appendix u: Parallel Programming 843

Interacting with the User Interface 843

PLINQ 843

BackgroundWorker 844

TPL 844

Parallel.For 845

Parallel.ForEach 845

Parallel.Invoke 845

Tasks 845

Threads 847

Appendix v: XML 849

Special Characters 849

Writing XML Data 849

XmlWriter 850

Document Object Model 851

XML Literals 854

Reading XML Data 854

XmlTextReader 854

Document Object Model 856

Related Technologies 856

XPath 857

XSLT 858

Appendix w: Serialization 859

XML Serialization 859

Controlling Serialization 860

JSON Serialization 861

Performing Serialization 861

Controlling Serialization 862

Binary Serialization 863

Appendix x: Reflection 865

Type 865

MemberInfo 870

EventInfo 870

MethodInfo 871

FieldInfo 873

PropertyInfo 874

ParameterInfo 874

Index 877

Read More Show Less

Customer Reviews

Average Rating 5
( 1 )
Rating Distribution

5 Star

(1)

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 1 Customer Reviews
  • Posted September 11, 2014

          Rod Stephens has once again proven that he is a Master Ins

          Rod Stephens has once again proven that he is a Master Instructor when it comes to teaching folks the intricacies of Microsoft .NET programming. This time it is for the latest edition of Microsoft C#.NET 5.0 in his book C# 5.0 Programmer’s Reference.
          Let me begin by saying that I am by no means an affluent C#.NET developer. Hence this is why I acquired a copy of this book, so I could continue my study of the programming language as best I can. I have spent a whole lot of money over the past several months on various training websites in attempts to further my education in C#.NET programming. When I say a lot, I have subscribed to at least six different training sites for several months at a time and have watched who knows how many hundreds of hours of video in my attempts to learn the language.

          Having said that, I can honestly say I wish I had not wasted my money. Rod Stephens has once again shown me the answers to so many questions I have had in the past with regard to certain aspects of C# programming. There is so much information that is shared in the book that is not shared in the various videos I have been watching. I got to thinking that it could be because this is a Programmer’s Reference type of book instead of a teaching, but I learned more from Rod’s concise, to the point, writing about each aspect that doesn’t include all the “Fluff” you find on all those videos. So many times the “instructors” on the videos will go off on a tangent about this or that and then tell you it is not relevant. Rod doesn’t waste your time like that with this book. He gets right to the information and tells you concisely what you need to know about each aspect. I like that. 
          An example of information that is not covered in any of the videos I have watched previously, but I found most intriguing, can be found on page 76 – 77. It is the “As Operator.” Now maybe this is either a well-known function in C# or maybe it is not and thus why we don’t hear about it in all the various training videos available through many websites. I found this to be an extremely useful little tidbit that takes up a small paragraph size writing. I plan on using this information in my own programming. Again, maybe it is well known or it could be not very well known, but it appears from Rod’s writing to be something very useful.

          Another aspect of Rod’s book that I really enjoyed, and yes, I will admit it kicked my butt several times over. At the end of each chapter is a series of exercises that will help you obtain some very useful thinking and hands on experience. Rod writes in the Introduction, “Programming is a skill best learned by doing” (p. xxxvii). The hands on exercises at the end of each chapter provided me the opportunity to further my understanding.

          There is a warning on page xxxvii as well with regard to the exercises. Rod writes, “Sometimes exercises point to more in-depth topics that don’t fit well in the chapter’s text.” Maybe this is why the exercises kicked my butt so much, but it gave me the opportunity to stretch my understanding to further levels and I can truly appreciate that. I know I didn’t get the correct answers, not by any means, but in reviewing the correct answers located in Appendix A I was able to gain exposure to the more “advanced” topics and that is never a bad thing.

          I have always been a fan of Rod Stephens as both an instructor and a writer, and I can tell you his writing is very concise, but very clear at the same time. It is worth your time and effort to read through this book at any level of programming experience. Rod warns in the beginning the book is designed more for the Intermediate and Advanced level of Programmer, but I can tell you from what I consider to be still a Junior Level programmer, the book contains so much useful information that can only help you grow more and more as a programmer/developer. The information is right here at your fingertips. You just need to either read the book from cover to cover (which is a difficult task) or have a good understanding how to use an Index to find the information you need. Only you will know which option is better for your level of programming. 

          I give the book five stars because it is worthy of any level to have this sitting on your desk so in case you have a question, Rod Stephens can quickly and easily give you the answer to your question in his book. Or he can point you in the right direction, which sometimes is more important in our advancing our knowledge.

          To conclude this review, I quote an old Chinese Proverb which states, “Teachers open the door; but you must enter by yourself.” I believe Rod Stephens does an excellent job of this with his C# 5.0 Programmer’s Reference. Rod opens so many doors, but it is up to you to do your best to understand the information being provided. Rod makes that very easy with his great writing style. 

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

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