Accelerated C# 2008 (eBook)

(Autor)

eBook Download: PDF
2008 | 1st ed.
XXVIII, 510 Seiten
Apress (Verlag)
978-1-4302-0338-4 (ISBN)

Lese- und Medienproben

Accelerated C# 2008 -  Trey Nash
Systemvoraussetzungen
35,30 inkl. MwSt
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

Accelerated C# 3.0 is the fastest path to C# mastery. All C# programmers need to know and understand how C# really works but very few books address this. No other book covers the subject in the depth that this one does. It teaches both core C# language concepts and how to use them in high-performance code. All programmers moving to C# from any language or moving up to C# 3.0 from C# 2005 will find this book well worth buying, reading, and using as a reference.



Trey Nash is an escalation engineer at Microsoft working on the Windows operating systems as well as various other products. When he is not working feverishly within the bowels of the operating system, he is delivering training on .NET Platform debugging as well as user mode and kernel mode debugging on the Windows platform. Prior to working at Microsoft, he was a principal software engineer working on security solutions at Credant Technologies, a market-leading security software company. He also enjoined a stint at a large Bluetooth company developing Bluetooth solutions for the release of Microsoft Vista. Before that, he called Macromedia, Inc. home for five years. At Macromedia, he worked on a cross-product engineering team for several years, designing solutions for a wide range of products throughout the company, including Flash, Fireworks, and Dreamweaver. He specialized in COM/DCOM using C/C++/ATL until the .NET revolution. He's been glued to computers ever since he scored his first, a TI-99/4A, when he was a mere 13 years old. He astounded his parents by turning a childhood obsession into a decent-paying career, much to their dismay. Trey received his bachelor of science and his master of engineering degrees in electrical engineering from Texas A&M University. When he's not sitting in front of a computer, you can find him working in his garage, playing his piano, brushing up on a foreign language (Russian and Icelandic are the current favorites), or playing ice hockey.
Many books introduce C#, but if you don't have the time to read 1,200 pages, Accelerated C# 2008 gives you everything you need to know about C# 2008 in a concentrated 500 pages of must-know information and best practices.C# 2008 offers powerful new features, and Accelerated C# 2008 is the fastest path to mastery, for both experienced C# programmers moving to C# 2008 and programmers moving to C# from another object-oriented language.You'll quickly master C# syntax while learning how the CLR simplifies many programming tasks. You'll also learn best practices that ensure your code will be efficient, reusable, and robust. Why spend months or years discovering the best ways to design and code C# when this book will show you how to do things the right way, right from the start? Comprehensively and concisely explains both C# 2005 and C# 2008 features Focuses on the language itself and on how to use C# 2008 proficiently for all .NET application development Concentrates on how C# features work and how to best use them for robust, high performance code

Trey Nash is an escalation engineer at Microsoft working on the Windows operating systems as well as various other products. When he is not working feverishly within the bowels of the operating system, he is delivering training on .NET Platform debugging as well as user mode and kernel mode debugging on the Windows platform. Prior to working at Microsoft, he was a principal software engineer working on security solutions at Credant Technologies, a market-leading security software company. He also enjoined a stint at a large Bluetooth company developing Bluetooth solutions for the release of Microsoft Vista. Before that, he called Macromedia, Inc. home for five years. At Macromedia, he worked on a cross-product engineering team for several years, designing solutions for a wide range of products throughout the company, including Flash, Fireworks, and Dreamweaver. He specialized in COM/DCOM using C/C++/ATL until the .NET revolution. He's been glued to computers ever since he scored his first, a TI-99/4A, when he was a mere 13 years old. He astounded his parents by turning a childhood obsession into a decent-paying career, much to their dismay. Trey received his bachelor of science and his master of engineering degrees in electrical engineering from Texas A&M University. When he's not sitting in front of a computer, you can find him working in his garage, playing his piano, brushing up on a foreign language (Russian and Icelandic are the current favorites), or playing ice hockey.

Contents at a Glance 5
Contents 6
Foreword 15
About the Author 16
About the Technical Reviewer 17
Acknowledgments 18
Introduction 19
About This Book 20
C# Preview 23
Differences Between C# and C++ 23
Example of a C# Program 25
Overview of Features Added in C# 2.0 27
Overview of What’s New in C# 3.0 28
Summary 29
C# and the CLR 30
The JIT Compiler in the CLR 31
Assemblies and the Assembly Loader 32
Metadata 34
Cross- Language Compatibility 35
Summary 36
C# Syntax Overview 37
C# Is a Strongly Typed Language 37
Expressions 38
Statements and Expressions 39
Types and Variables 39
Namespaces 52
Control Flow 55
Summary 57
Classes, Structs, and Objects 58
Class Definitions 60
Value Type Definitions 94
Anonymous Types 100
Object Initializers 103
Boxing and Unboxing 106
System. Object 113
Creating Objects 114
Destroying Objects 123
Disposable Objects 126
Method Parameter Types 130
Method Overloading 133
Inheritance and Virtual Methods 134
Inheritance, Containment, and Delegation 137
Summary 141
Interfaces and Contracts 142
Interfaces Define Types 143
Defining Interfaces 144
Implementing Interfaces 147
Interface Member Matching Rules 154
Explicit Interface Implementation with Value Types 158
Versioning Considerations 160
Contracts 161
Choosing Between Interfaces and Classes 163
Summary 167
Overloading Operators 168
Just Because You Can Doesn’t Mean You Should 168
Types and Formats of Overloaded Operators 168
Operators Shouldn’t Mutate Their Operands 169
Does Parameter Order Matter? 170
Overloading the Addition Operator 170
Operators That Can Be Overloaded 172
Summary 180
Exception Handling and Exception Safety 181
How the CLR Treats Exceptions 181
Mechanics of Handling Exceptions in C# 182
Who Should Handle Exceptions? 190
Avoid Using Exceptions to Control Flow 191
Achieving Exception Neutrality 191
Creating Custom Exception Classes 203
Working with Allocated Resources and Exceptions 204
Providing Rollback Behavior 208
Summary 211
Working with Strings 212
String Overview 212
String Literals 213
Format Specifiers and Globalization 214
Working with Strings from Outside Sources 225
StringBuilder 226
Searching Strings with Regular Expressions 228
Summary 237
Arrays, Collection Types, and Iterators 238
Introduction to Arrays 238
Multidimensional Rectangular Arrays 245
Multidimensional Jagged Arrays 246
Collection Types 248
IEnumerable< T>
Iterators 259
Collection Initializers 268
Summary 269
Delegates, Anonymous Functions, and Events 270
Overview of Delegates 270
Delegate Creation and Use 271
Events 279
Anonymous Methods 283
The Strategy Pattern 293
Summary 295
Generics 296
Difference Between Generics and C++ Templates 297
Efficiency and Type Safety of Generics 298
Generic Type Definitions and Constructed Types 299
Constraints 314
Generic System Collections 319
Generic System Interfaces 320
Select Problems and Solutions 322
Summary 333
Threading in C# 334
Threading in C# and . NET 334
Synchronizing Work Between Threads 348
Using ThreadPool 370
Summary 379
In Search of C# Canonical Forms 380
Reference Type Canonical Forms 380
Value Type Canonical Forms 422
Summary 431
Extension Methods 434
Introduction to Extension Methods 434
Recommendations for Use 440
Transforms 442
Operation Chaining 446
Custom Iterators 447
The Visitor Pattern 454
Summary 458
Lambda Expressions 459
Introduction to Lambda Expressions 459
Expression Trees 465
Useful Applications of Lambda Expressions 469
Summary 480
LINQ: Language Integrated Query 481
A Bridge to Data 481
Standard Query Operators 485
C# Query Keywords 486
The Virtues of Being Lazy 498
Techniques from Functional Programming 502
Summary 510
References 511
Blogs 512
Index 513

Erscheint lt. Verlag 7.2.2008
Zusatzinfo XXVIII, 510 p.
Verlagsort Berkeley
Sprache englisch
Themenwelt Informatik Programmiersprachen / -werkzeuge C#
Informatik Software Entwicklung Objektorientierung
Schlagworte C# • Design • Development • interfaces • Iterator • language • .NET • object • Overloading • programming
ISBN-10 1-4302-0338-2 / 1430203382
ISBN-13 978-1-4302-0338-4 / 9781430203384
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 2,0 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich