HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
In just 24 sessions of one hour or less, learn how to build great Windows Store apps, Windows desktop applications, and Web applications with C# 5.0. Using this tutorial’s straightforward, step-by-step approach, you’ll master everything from the absolute basics to the newest innovations, so you can solve real problems with C#. One step at a time, you’ll learn core techniques like flow control and error handling, construct complete solutions with Visual Studio, use advanced features like attributes and dynamic types, and even build engaging, immersive Windows Store apps. Each lesson builds on what you’ve already learned, giving you a strong real-world foundation for success, even if you’ve never programmed with C# 5.0 before!
Step-by-step instructions carefully walk you through the most common C# programming tasks.
Quizzes and exercises at the end of each chapter help you test your knowledge.
Notes and tips present interesting information related to the discussion.
Cautions alert you to possible problems and give you advice on how to avoid them.
Learn how to...
Introduction 1
Part I: C# Fundamentals
HOUR 1: The .NET Framework and C# 5
The .NET Framework 5
The C# Language 13
Summary 20
Q&A 21
Workshop 21
Exercises 23
HOUR 2: Introducing Visual Studio 25
Introducing the Visual Studio Editions 26
Writing Your First Program 28
Debugging in Visual Studio 32
Visualizing Data 43
Commenting Your Code 44
Summary 46
Q&A 46
Workshop 47
Exercises 47
HOUR 3: Understanding C# Types 49
An Overview of Types 49
The C# Predefined Types 51
Other Commonly Used Types 55
Working with Operators 60
Default Values 66
Null and Nullable Types 67
Casting and Conversion 69
Summary 72
Q&A 73
Workshop 74
Exercises 75
HOUR 4: Understanding Classes and Objects the C# Way 77
Object-Oriented Programming 78
Component-Oriented Programming 79
Classes in C# 79
Scope and Declaration Space 79
Nested Classes 101
Partial Classes 101
Static Classes 102
Object Initializers 104
Summary 104
Q&A 105
Workshop 105
Exercises 107
HOUR 5: Inheritance, Interfaces, and Abstract Classes 109
Inheritance and Polymorphism 109
Abstract Classes and Members 120
Working with Interfaces 122
Summary 126
Q&A 126
Workshop 127
Exercises 128
HOUR 6: Creating Enumerated Types and Structures 129
Enumerated Types 129
Working with Structures 135
Summary 143
Q&A 143
Workshop 144
Exercises 144
HOUR 7: Events and Event Handling 147
Understanding Events 147
Subscribing and Unsubscribing 148
Publishing an Event 152
Raising an Event 154
Summary 157
Q&A 157
Workshop 158
Exercises 158
PART II: PROGRAMMING IN C#
HOUR 8: Controlling Program Flow 159
Understanding the Selection Statements 159
Iteration Statements 165
Jump Statements 171
Summary 175
Q&A 175
Workshop 176
Exercises 177
HOUR 9: Using Strings and Regular Expressions 179
Strings 180
Mutable Strings Using StringBuilder 189
Type Formatting 191
Regular Expressions 199
Summary 201
Q&A 202
Workshop 202
Exercises 204
HOUR 10: Working with Arrays and Collections 205
Single and Multidimensional Arrays 205
Indexers 211
Generic Collections 213
Collection Initializers 227
Collection Interfaces 229
Enumerable Objects and Iterators 230
Summary 233
Q&A 233
Workshop 234
Exercises 235
HOUR 11: Handling Errors Using Exceptions 237
Understanding Exceptions 238
System.Exception 238
Throwing Exceptions 240
Handling Exceptions 241
Rethrowing Caught Exceptions 250
Overflow and Integer Arithmetic 252
Exceptions, Code Contracts, and Parameter Validation 253
Summary 258
Q&A 258
Workshop 259
Exercises 260
HOUR 12: Understanding Generics 261
Why You Should Use Generics 261
Using Generic Methods 269
Creating Generic Classes 271
Combining Generics and Arrays 273
Variance in Generic Interfaces 274
Working with Tuples 278
Summary 279
Q&A 280
Workshop 280
Exercises 281
HOUR 13: Understanding Query Expressions 283
Introducing LINQ 283
Using LINQ to Manipulate Data 284
Standard Query Operator Methods 296
Deferred Execution 300
Summary 301
Q&A 302
Workshop 302
Exercises 302
PART III: WORKING WITH DATA
HOUR 14: Using Files and Streams 303
Files and Directories 303
Reading and Writing Data 314
Summary 322
Q&A 322
Workshop 323
Exercises 323
HOUR 15: Working with XML 325
Understanding the XML DOM 326
Using LINQ to XML 327
Selecting and Querying XML 334
Modifying XML 338
Summary 341
Q&A 341
Workshop 342
Exercises 342
HOUR 16: Working with Databases 343
Prerequisites 343
Understanding ADO.NET 346
Understanding LINQ to ADO.NET 351
Summary 361
Q&A 362
Workshop 363
Exercises 363
PART IV: BUILDING AN APPLICATION USING VISUAL STUDIO
HOUR 17: Building a Windows Application 365
Understanding WPF 365
Creating a WPF Application 372
Styling the Layout 381
Summary 383
Q&A 383
Workshop 384
Exercises 384
HOUR 18: Using Data Binding and Validation 385
Understanding Data Binding 385
Converting Data 392
Validating Data 396
Working with Data Templates 399
Summary 400
Q&A 400
Workshop 401
Exercises 401
HOUR 19: Building Windows Store Apps 403
Understanding the Windows Runtime 404
What’s a Windows Store App? 405
Working Asynchronously 408
Building an App 412
Summary 417
Q&A 417
Workshop 417
Exercises 417
HOUR 20: Building a Web Application 419
Understanding Web Application Architecture 419
Working with ASP.NET 420
Creating a Web Application 423
Understanding Data Validation 432
Summary 435
Q&A 435
Workshop 436
Exercises 436
PART V: DIVING DEEPER
HOUR 21: Programming with Attributes 437
Understanding Attributes 437
Using the Caller Info Attributes 440
Working with the Common Attributes 442
Using Custom Attributes 446
Accessing Attributes at Runtime 447
Summary 448
Q&A 449
Workshop 449
Exercises 449
HOUR 22: Dynamic Types and Language Interoperability 451
Using Dynamic Types 451
Understanding the DLR 456
Interoperating with COM 459
Reflection Interoperability 461
Summary 462
Q&A 462
Workshop 463
Exercises 463
HOUR 23: Memory Organization and Garbage Collection 465
Memory Organization 465
Garbage Collection 466
Understanding the IDisposable Interface 467
Using the Dispose Pattern 469
Declaring and Using Finalizers 470
Summary 472
Q&A 472
Workshop 473
Exercises 474
HOUR 24: Understanding Threads, Concurrency, and Parallelism 475
Understanding Threads and Threading 475
Concurrency and Synchronization 476
Understanding the Task Parallel Library 481
Working with Parallel LINQ (PLINQ) 487
Potential Pitfalls 488
Summary 489
Q&A 490
Workshop 491
Exercises 492
Index 493