C# has quickly established itself as one of the world's most widely used programming languages. The newest version, Visual C# 2010, includes several important new features, including Silverlight, the Entity Framework, tighter integration with version 4.0 of the .NET Framework, and full support for programming Windows 7 and Office. The proven Sams Teach Yourself method will help all newcomers to C# 2010 get up to speed quickly, no matter whether you've had experience with previous versions of Visual C# or not. You are taken step by step through the process of software development, learning elements as you build a sample application so that the material is framed in a real world approach. The accompanying DVD contains Visual C# 2010 Express Edition, and the companion Web site contains all the code and exercises from the book.
Step-by-step instructions carefully walk you through the most common tasks Q & As, quizzes, and exercises at the end of each chapter help you test your knowledge Notes and tips point out shortcuts and solutions The companion DVD contains Visual C# 2010 Express Edition - everything you need to get started programming in C#
Table of Contents:
Introduction 1
PART I: C# FUNDAMENTALS
Hour 1 The .NET Framework and C# 7
The .NET Framework 7
The C# Language 17
Visual Studio 2010 24
Writing Your First Program 27
Q&A 31
Workshop 32
Hour 2 Understanding C# Types 35
Types 36
Predefined Types 37
Operators 47
Default Values 53
Null and Nullable Types 53
Casting and Conversion 55
Q&A 59
Workshop 60
Hour 3 Understanding Classes and Objects the C# Way 63
Object-Oriented Programming 64
Component-Oriented Programming 65
Classes in C# 65
Scope and Declaration Space 66
Nested Classes 85
Partial Classes 86
Static Classes 86
Object Initializers 88
Q&A 89
Workshop 90
Hour 4 Inheritance, Interfaces, and Abstract Classes 93
Inheritance and Polymorphism 93
Abstract Classes and Members 103
Interfaces 105
Q&A 109
Workshop 111
Hour 5 Creating Enumerated Types and Structures 113
Enumerated Types 114
Structures 119
Q&A 127
Workshop 127
Hour 6 Events and Event Handling 131
Understanding Events 132
Subscribing and Unsubscribing 132
Publishing an Event 136
Raising an Event 139
Q&A 141
Workshop 142
PART II: PROGRAMMING IN C#
Hour 7 Controlling Program Flow 147
Selection Statements 148
Iteration Statements 153
Jump Statements 159
Q&A 162
Workshop 163
Hour 8 Using Strings and Regular Expressions 167
Strings 168
Mutable Strings Using StringBuilder 177
Type Formatting 178
Regular Expressions 187
Q&A 190
Workshop 191
Hour 9 Working with Arrays and Collections 195
Arrays 196
Indexers 200
Generic Collections 203
Collection Initializers 217
Collection Interfaces 219
Enumerable Objects and Iterators 220
Q&A 223
Workshop 224
Hour 10 Handling Errors Using Exceptions 227
Understanding Exceptions 228
Throwing Exceptions 231
Handling Exceptions 232
Rethrowing Caught Exceptions 239
Overflow and Integer Arithmetic 241
Q&A 243
Workshop 243
Hour 11 Understanding Generics 245
Why You Should Use Generics 246
Using Generic Methods 253
Creating Generic Classes 254
Combining Generics and Arrays 257
Working with Tuples 261
Q&A 263
Workshop 264
Hour 12 Understanding Query Expressions 267
Introducing LINQ 268
Standard Query Operator Methods 279
Lambdas 280
Deferred Execution 283
Q&A 284
Workshop 285
PART III: WORKING WITH DATA
Hour 13 Using Files and Streams 289
Files and Directories 290
Reading and Writing Data 300
Q&A 307
Workshop 308
Hour 14 Working with XML 311
Understanding the XML DOM 312
Using LINQ to XML 313
Selecting and Querying XML 319
Modifying XML 323
Q&A 326
Workshop 326
Hour 15 Working with Databases 329
Understanding ADO.NET 330
Understanding LINQ to ADO.NET 333
Q&A 342
Workshop 343
PART IV: BUILDING AN APPLICATION USING VISUAL STUDIO
Hour 16 Debugging in Visual Studio 347
Commenting Your Code 348
Compiler and Runtime Errors 349
Debugging in Visual Studio 350
Visualizing Data 359
Q&A 361
Workshop 361
Hour 17 Building a Windows Application 363
Understanding WPF 364
Creating a WPF Application 370
Styling the Layout 379
Q&A 382
Workshop 382
Hour 18 Using Data Binding and Validation 385
Understanding Data Binding 386
Converting Data 390
Binding to Collections 395
Working with Data Templates 399
Validating Data 400
Q&A 404
Workshop 405
Hour 19 Building a Web Application 407
Understanding Web Application Architecture 408
Working with ASP.NET 408
Creating a Web Application 411
Understanding Data Validation 420
Q&A 423
Workshop 424
PART V: DIVING DEEPER
Hour 20 Programming with Attributes 427
Understanding Attributes 428
Working with the Common Attributes 430
Using Custom Attributes 433
Accessing Attributes at Runtime 434
Q&A 436
Workshop 436
Hour 21 Dynamic Types and Language Interoperability 439
Using Dynamic Types 439
Understanding the DLR 444
Interoperating with COM 447
Reflection Interoperability 448
Q&A 449
Workshop 450
Hour 22 Memory Organization and Garbage Collection 451
Memory Organization 452
Garbage Collection 452
Understanding IDisposable 453
Using the Dispose Pattern 455
Declaring and Using Finalizers 456
Q&A 458
Workshop 459
Hour 23 Understanding Threads, Concurrency, and Parallelism 461
Understanding Threads and Threading 462
Concurrency and Synchronization 463
Understanding the Task Parallel Library 467
Working with Parallel LINQ (PLINQ) 472
Potential Pitfalls 473
Q&A 475
Workshop 476
Hour 24 Next Steps: Silverlight, PowerShell, and Entity Framework 479
Understanding the Entity Framework 479
Introducing PowerShell 482
Silverlight 483
Index 485
About the Author :
Scott Dorman has been designated by Microsoft as a C# Most Valued Professional in recognition for his many contributions to the C# community. He has been working with computers professionally since 1993, and with .NET and C# since 2001. Currently, Scott's primary focus is developing commercial software applications using Microsoft .NET technologies. Scott runs a software architecture focused user group, speaks extensively, including at Microsoft TechEd and community sponsored code camps, and contributes regularly to online communities such as The Code Project and StackOverflow. Scott maintains a .NET Framework and C# focused blog at http://geekswithblogs.com/sdorman.
Review :
“The Teach Yourself in 24 Hours series of books from Sams has been a staple of anyone wanting to quickly come up-to-speed on a new technology. This book is not just a simple refresh of last year’s book, Scott has written it from the ground up for the Visual Studio 2010 and .NET 4.0 release. From the C# type system, to events and data, from ASP.NET Web to WPF Windows applications, Sams Teach Yourself Visual C# 2010 in 24 Hours will provide any developer new to the C# language a great foundation to build upon.”
–Shawn Weisfeld, Microsoft Visual C# MVP
“The key to learning software development is to have a great foundation. Sams Teach Yourself Visual C# 2010 in 24 Hours is a must-read for anyone who wants to learn C# from the beginning, or just brush up on its features. Scott Dorman brings a very knowledgeable, yet casual approach to his book that anyone with the desire to learn to program in .NET can be inspired by. I found a few gems that will enhance my future programming projects.”
–Chris “Woody” Woodruff, Co-Host of Deep Fried Bytes Podcast
“This book is an excellent resource for anyone who is learning C# for the first time, migrating from Visual Basic, or catching up on the latest features of C#. It is full of information and should be on the desks of any developer who is becoming familiar with C# 2010.”
–Jeff Julian, Managing Partner, AJI Software, Founder of GeeksWithBlogs.NET
“Scott Dorman has written an excellent reference book that not only covers the basic fundamentals of .NET 4.0 C# development, but also includes instruction and guidance on the finer points of advanced C# and development with Visual Studio 2010. The book is written in a clear and concise manner, with liberal usage of `Did You Know,’ `By the Way,’ and `Watch Out!’ sidebars that help provide the reader with informative `sign posts’ along their journey for re-enforcing key concepts, best practices, and anti-patterns. These invaluable sign posts really help to `bring-it-home’ to the reader with Scott’s real-world commentary about why certain topics are critical in the overall understanding and use of the C# language and associated constructs. Whether you are a novice, intermediate, or professional developer, this book will certainly become a very handy, well-thumbed, desk reference for today’s highly productive .NET 4.0 C# developer.”
–Jeff Barnes, Architect Microsoft Developer & Platform Evangelism, Microsoft Corporation
“This book covers all the bases, from the C# language, through the frameworks you’ll use it with and the tools you need to be productive. The best way to learn is to do, and there is no shortage of doing here.”
–Chris Burrows, C# Compiler Team, Microsoft Corporation
“Sams Teach Yourself Visual C# 2010 in 24 Hours gives you the jump start you need to be productive quickly. I found the book extremely clear to follow and laid out logically hour by hour to flow you through related topics. From novices to C# veterans, this book gives you all you need to understand all that is new in the 2010 release.”
–Richard Jones, Microsoft MVP