Acclerated C# 2005, Apress
Microsoft .NET Framework, ASP.NET, Visual C# (CSharp, C Sharp, C-Sharp) Developer Training, Visual Studio
|
Contents |
C# Online.NET Book Review
This unique book is a concise, detailed guide to writing performant, hardy C# applications. It covers all the C# fundamentals in an accelerated fashion; that is, the reader is expected to already be proficient in some object oriented (OO) language, e.g. C++ or the Java language.
The focus is squarely on C#—the language, best practices, and how to get what you want out of the language. In addition to C# fundamentals, the text is peppered with numerous brief Notes and Cautions—some of which I found eye-opening:
"Caution Be wary of any object used during finalization, even if it's not a field of your object being finalized. "
"Caution Avoid implementingICloneable. As alarming as that sounds, Microsoft is actually making this recommendation. "
In a wonderful last chapter, the author does for C# what C++ programmers have already done, i.e. established canonical—standard—forms. He goes through them in detail in this one long chapter; so, the reader will thoroughly grok them. Then, he summarizes them in a handy two page checklist which allows you to choose the correct form for your immediate requirements.
The author writes in a concise, confident, but conversational style. Besides being C# savy, the author is a C++ expert. Accordingly, he offers brief tips to C++ programmers which is a boon to them; but, it never becomes a burden to the rest of us.
The book is information dense—it covers C# pretty thoroughly in under 400 pages—;so, it is more educational than pleasureable to read. It is very well organized and—well—tight. Professional programmers and developers will appreciate its thoroughness, its economy, and its point of view.
All of the source code examples are in the C# language.
Bottom line
Accelerated C# 2005 is a tight, hardcore introduction and guide to C# fundamentals for experienced OO developers.
Publisher's description
Accelerated C# 2005 teaches you both how to use core C# language concepts and wisely employ C# idioms and object-oriented design patterns—to exploit the power of C# and the common language runtime. 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.
This book is the fastest path to C# mastery for anyone familiar with object-oriented programming. Many books introduce C#, but very few also explain how to use it optimally with the .NET CLR. 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?
You’ll want a copy of this book because it
- Covers all new features of C# 2.0
- Describes and explains C# idioms and design patterns
- Presents canonical forms for C# classes and structs
- Quickly leads to true understanding and mastery of C#
- Demonstrates bullet-proof, exception-safe code and efficient multithreaded applications
From the back cover
If you’re an experienced programmer (even an experienced C# programmer) who wants to truly master C# 2005, this book is for you. It is a comprehensive, detailed guide to writing robust, efficient C# 2005 code. It focuses on precisely what you need to know to use both C# and .NET most effectively.
My desire and passion with Accelerated C# 2005 is to accelerate your path to C# mastery by sharing the hard-won experience of others, so you won’t have to spend years gaining it on your own. I show you how .NET professionals use design patterns, design principles, and C# idioms routinely—and how you should use them in your own programs.
.NET offers many convenient facilities for writing powerful programs. However, this convenience has its fair share of complexities—the classic engineering trade-off in action. My goal is to clearly point out the traps and pitfalls and to provide you with a definitive guide to designing both .NET types and programs wisely.
Not everything in .NET is convenient. For example, writing exception-safe and fault-tolerant code can be quite challenging. I explain how to use new .NET 2.0 features, such as constrained execution regions, to protect the state of your application in the event of asynchronous exceptions. I also cover exciting new C# 2005 features in detail, including generics, iterators, and anonymous methods. These features can accelerate your coding and your code, but only if you understand them and use them well.
Have fun programming. Define contract before implementation, strive to be exception-neutral, and be frugal with resource usage, and you’ll accelerate your entry into the halls of the C# gurus.
About the author(s)
Trey Nash is a principal software engineer working on PC Bluetooth solutions at Cambridge Silicon Radio. Prior to that, he spent five years at Macromedia, Inc., working on a cross-product engineering team that designed solutions for a wide range of Macromedia products including Flash and Fireworks. Before focusing on .NET, he specialized in COM/DCOM programming in C, C++, and ATL. Trey’s been glued to a computer ever since he scored his first, a TI 99/4A, when he was 13 years old, and he astounded his parents by turning his childhood obsession into a career.
Trey earned his bachelor of science and master of engineering degrees in electrical engineering from Texas A&M University. When not sitting in front of a computer at his home in Dallas, he works in his garage, hones his skills in card magic, plays the piano, studies foreign languages (Russian and Icelandic are his current favorites), and plays ice hockey.
Table of Contents (abbreviated)
CHAPTER 1 C# Preview
CHAPTER 2 C# and the CLR
CHAPTER 3 C# Syntax Overview
CHAPTER 4 Classes, Structs, and Objects
CHAPTER 5 Interfaces and Contracts
CHAPTER 6 Overloading Operators
CHAPTER 7 Exception Handling and Exception Safety
CHAPTER 8 Working with Strings
CHAPTER 9 Arrays, Collection Types, and Iterators
CHAPTER 10 Delegates, Anonymous Functions, and Events
CHAPTER 11 Generics
CHAPTER 12 Threading in C#
CHAPTER 13 In Search of C# Canonical Forms
APPENDIX References