C# 5.0 Unleashed
Sams Publishing (Verlag)
978-0-672-33690-4 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
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
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.
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
Erscheint lt. Verlag | 2.5.2013 |
---|---|
Verlagsort | Indianapolis |
Sprache | englisch |
Maße | 180 x 230 mm |
Gewicht | 2139 g |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Informatik ► Software Entwicklung ► Objektorientierung | |
ISBN-10 | 0-672-33690-1 / 0672336901 |
ISBN-13 | 978-0-672-33690-4 / 9780672336904 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich