Copyright
Brief Table of Contents
Table of Contents
Praise for the Third Edition
Praise for the Second Edition
Praise for the First Edition
Foreword
Preface
Acknowledgments
About this book
About the author
About the cover illustration
1. C# in context
Chapter 1. Survival of the sharpest
1.1. An evolving language
1.1.1. A helpful type system at large and small scales
1.1.2. Ever more concise code
1.1.3. Simple data access with LINQ
1.1.4. Asynchrony
1.1.5. Balancing efficiency and complexity
1.1.6. Evolution at speed: Using minor versions
1.2. An evolving platform
1.3. An evolving community
1.4. An evolving book
1.4.1. Mixed-level coverage
1.4.2. Examples using Noda Time
1.4.3. Terminology choices
Summary
2. C# 2–5
Chapter 2. C# 2
2.1. Generics
2.1.1. Introduction by example: Collections before generics
2.1.2. Generics save the day
2.1.3. What can be generic?