0

    C# 5.0 Unleashed

    by Bart De Smet


    eBook

    $27.99
    $27.99
     $47.99 | Save 42%

    Customer Reviews

      ISBN-13: 9780133391473
    • Publisher: Pearson Education
    • Publication date: 04/17/2013
    • Series: Unleashed
    • Sold by: Barnes & Noble
    • Format: eBook
    • Pages: 1700
    • File size: 165 MB
    • Note: This product may take a few minutes to download.

    Bart J.F. De Smet is a software development engineer on Microsoft’s Cloud Programmability Team, an avid blogger, and a popular speaker at various international conferences. In his current role, he’s actively involved in the design and implementation of Reactive Extensions for .NET (Rx) and on an extended “LINQ to Anything” mission. You can read about Bart’s technical adventures on his blog at http://blogs.bartdesmet.net/bart.

     

    His main interests include programming languages, virtual machines and runtimes, functional programming, and all sorts of theoretical foundations. In his spare time, Bart likes to go out for a hike in the wonderful nature around Seattle, read technical books, and catch up on his game of snooker.

     

    Before joining the company in October 2007, Bart was active in the .NET community as a Microsoft Most Valuable Professional (MVP) for C#, while completing his Bachelor of Informatics, Master of Informatics, and Master of Computer Science Engineering studies at Ghent University, Belgium.

    Read More

    Table of Contents

    Introduction    1

    Who Should Read This Book?    2

    What You Need to Know Before You Read This Book    2

    How This Book Is Organized    3

    1 Introducing the    NET Platform    5

    A Historical Perspective    5

    A 10,000-Feet View of the    NET Platform.    9

    The Common Language Infrastructure    12

    The Multilanguage Aspect of    NET    15

    Introducing    NET Assemblies.    16

    The Common Type System Explained    17

    Executing Managed Code    24

    Diving into the Common Language Runtime    32

    The Base Class Library    51

    Summary    54

    2 Introducing the C# Programming Language    55

    The Evolution of C#    55

    A Sneak Peek at the Future    95

    Summary    102

    3 Getting Started with    NET Development Using C#    103

    Installing the    NET Framework    103

    Your First Application: Take One    113

    Visual Studio 2012    119

    Your First Application: Take Two    127

    Summary    173

    4 Language Essentials    175

    The Entry Point    175

    Keywords    181

    A Primer on Types    184

    Built-In Types    190

    Local Variables.    212

    Intermezzo on Comments    223

    Arrays    230

    The Null Reference    239

    Nullable Value Types    243

    Summary    249

    5 Expressions and Operators    251

    What Are Expressions?    251

    The Evaluation Stack    255

    Arithmetic Operators    258

    String Concatenation    269

    Shift Operators    274

    Relational Operators    275

    Logical Operators    277

    Conditional Operators    281

    An Operator’s Result Type    284

    Null-Coalescing Operator    285

    Assignment    287

    Summary    299

    6 A Primer on Types and Objects    301

    Implicit Versus Explicit Conversions    301

    The typeof Operator: A Sneak Peek at Reflection    319

    Default Value Expression    322

    Creating Objects with the new Operator    324

    Member Access    336

    Invocation Expressions    340

    Element Access    348

    Summary    349

    7 Simple Control Flow    351

    What Are Statements, Anyway?    351

    Expression Statements    353

    The Empty Statement    355

    Statement Blocks.    356

    Declarations    357

    Selection Statements    358

    Iteration Statements    375

    A Peek at Iterators    391

    Loops in the Age of Concurrency    398

    The goto Statement    400

    The return Statement    404

    Summary    406

    8 Basics of Exceptions and Resource Management    407

    Exception Handling    407

    Deterministic Resource Cleanup    438

    Locking on Objects    448

    Summary    462

    9 Introducing Types    463

    Types Revisited    463

    Classes Versus Structs    466

    Type Members    486

    Summary    499

    10 Methods    501

    Defining Methods    501

    Specifying the Return Type    502

    Declaring Parameters    504

    Overloading    519

    Extension Methods    524

    Partial Methods    534

    Extern Methods    538

    Refactoring    540

    Code Analysis    545

    Summary    546

    11 Fields, Properties, and Indexers    547

    Fields    547

    An Intermezzo About Enums    563

    Properties    574

    Indexers    580

    Summary    583

    12 Constructors and Finalizers    585

    Constructors    585

    Static Constructors    592

    Destructors (Poorly Named Finalizers)    595

    Summary    608

    13 Operator Overloading and Conversions    609

    Operators    609

    Conversions    633

    Summary    647

    14 Object-Oriented Programming    649

    The Cornerstones of Object Orientation    649

    Inheritance for Classes    663

    Protected Accessibility    674

    Polymorphism and Virtual Members    676

    Abstract Classes    688

    Interface Types    690

    Summary    699

    15 Generic Types and Methods    701

    Life Without Generics    701

    Getting Started with Generics    704

    Declaring Generic Types    707

    Using Generic Types    712

    Performance Intermezzo    714

    Operations on Type Parameters    718

    Generic Constraints    720

    Generic Methods    736

    Co- and Contravariance    743

    Summary    754

    16 Collection Types    755

    Nongeneric Collection Types    755

    Generic Collection Types    765

    Thread-Safe Collection Types    778

    Other Collection Types    786

    Summary    787

    17 Delegates    789

    Functional Programming    789

    What Are Delegates?    794

    Delegate Types    794

    Delegate Instances    798

    Invoking Delegates    811

    Putting It Together: An Extensible Calculator    815

    Case Study: Delegates Used in LINQ to Objects    819

    Asynchronous Invocation    823

    Combining Delegates    835

    Summary    842

    18 Events    843

    The Two Sides of Delegates    844

    A Reactive Application    845

    How Events Work    853

    Raising Events, the Correct Way    855

    add and remove Accessors    857

    Detach Your Event Handlers    861

    Recommended Event Patterns    871

    Case Study: INotifyProperty Interfaces and UI Programming    880

    Countdown, the GUI Way    890

    Event Interoperability with WinRT    896

    Introduction to Reactive Programming    898

    Summary    911

    19 Language Integrated Query Essentials    913

    Life Without LINQ    914

    LINQ by Example    921

    Query Expression Syntax    931

    Summary    975

    20 Language Integrated Query Internals    977

    How LINQ to Objects Works    977

    Standard Query Operators    1000

    The Query Pattern    1033

    Parallel LINQ    1036

    Expression Trees    1045

    Summary    1055

    21 Reflection    1057

    Typing Revisited, Static and Otherwise.    1058

    Reflection    1063

    Lightweight Code Generation    1091

    Expression Trees    1101

    Summary    1117

    22 Dynamic Programming    1119

    The dynamic Keyword in C# 4.0    1119

    DLR Internals    1137

    Office and COM Interop    1159

    Summary    1174

    23 Exceptions    1175

    Life Without Exceptions    1175

    Introducing Exceptions    1178

    Exception Handling    1180

    Throwing Exceptions    1196

    Defining Your Own Exception Types    1198

    (In)famous Exception Types    1201

    Summary    1220

    24 Namespaces    1221

    Organizing Types in Namespaces    1221

    Declaring Namespaces    1227

    Importing Namespaces    1231

    Summary    1240

    25 Assemblies and Application Domains    1241

    Assemblies    1241

    Application Domains    1286

    Summary    1298

    26 Base Class Library Essentials    1301

    The BCL: What, Where, and How?    1303

    The Holy System Root Namespace    1311

    Facilities to Work with Text    1356

    Summary    1372

    27 Diagnostics and Instrumentation    1373

    Ensuring Code Quality    1374

    Instrumentation    1388

    Controlling Processes    1396

    Summary    1398

    28 Working with I/O    1399

    Files and Directories    1399

    Monitoring File System Activity    1407

    Readers and Writers    1409

    Streams: The Bread and Butter of I/O    1415

    A Primer to (Named) Pipes    1434

    Memory-Mapped Files in a Nutshell    1437

    Overview of Other I/O Capabilities    1440

    Summary    1440

    29 Threading and Synchronization    1443

    Using Threads    1444

    Thread Pools    1474

    Synchronization Primitives    1482

    Summary    1511

    30 Task Parallelism and Data Parallelism    1513

    Pros and Cons of Threads    1514

    The Task Parallel Library    1515

    Task Parallelism    1520

    Data Parallelism    1542

    Summary    1550

    31 Asynchronous Programming    1551

    Why Asynchronous Programming Matters    1551

    Old Asynchronous Programming Patterns    1564

    Asynchronous Methods and await Expressions    1584

    Behind the Scenes    1610

    Advanced Topics    1634

    Summary    1641

    32 Introduction to Windows Runtime    1643

    What Is Windows Runtime?    1643

    Creating a Windows Runtime Component    1658

    Overview of the Windows Runtime APIs    1667

    Summary    1669

    Index    1671

     

     

    Available on NOOK devices and apps

    • NOOK eReaders
    • NOOK GlowLight 4 Plus
    • NOOK GlowLight 4e
    • NOOK GlowLight 4
    • NOOK GlowLight Plus 7.8"
    • NOOK GlowLight 3
    • NOOK GlowLight Plus 6"
    • NOOK Tablets
    • NOOK 9" Lenovo Tablet (Arctic Grey and Frost Blue)
    • NOOK 10" HD Lenovo Tablet
    • NOOK Tablet 7" & 10.1"
    • NOOK by Samsung Galaxy Tab 7.0 [Tab A and Tab 4]
    • NOOK by Samsung [Tab 4 10.1, S2 & E]
    • Free NOOK Reading Apps
    • NOOK for iOS
    • NOOK for Android

    Want a NOOK? Explore Now

    Buy the print C# 5.0 Unleashed and get the eBook version for free! See inside the book for access code and details.

    C# 5.0 Unleashed is for anyone who wants to learn the C# programming language in depth, understanding how language features truly work. While giving you those insights, you learn where and how to use the features to design various kinds of software. This book not only teaches the language’s capabilities, it also looks behind the scenes to build a solid foundation to aid you in understanding the .NET platform as a whole.

    ¿

    Bart De Smet offers exceptional insight into the features of both the language and Microsoft’s broader framework. He doesn’t just cover the “what” and “how” of effective C# programming: He explains the “why,” so you can consistently choose the right language and platform features, maximizing your efficiency and effectiveness.

    ¿

    The early chapters introduce the .NET platform, the tooling ecosystem, and the C# programming language, followed by in-depth coverage of the C# programming language itself, with immediate application of language features. The last chapters give an overview of the .NET Framework libraries about which every good developer on the platform should know.

    • Understand the .NET platform: its language support, libraries, tools, and more
    • Learn where C# fits, how it has evolved, and where it’s headed
    • Master essential language features including expressions, operators, types, objects, and methods
    • Efficiently manage exceptions and resources
    • Write more effective C# object-oriented code
    • Make the most of generics, collections, delegates, reflection, and other advanced language features
    • Use LINQ to express queries for any form of data
    • Master dynamic programming techniques built on .NET’s Dynamic Language Runtime (DLR)
    • Work with namespaces, assemblies, and application domains
    • Write more efficient code using threading, synchronization, and advanced parallel programming techniques
    • Leverage the Base Class Library (BCL) to quickly perform many common tasks
    • Instrument, diagnose, test, and troubleshoot your C# code
    • Understand how to use the new C# 5.0 asynchronous programming features
    • Leverage interoperability with Windows Runtime to build Windows 8 applications

    Read More

    Customers Who Bought This Item Also Bought

    Recently Viewed 

    Sign In Create an Account
    Search Engine Error - Endeca File Not Found